User Manual, Developers Guide and API Documentation

wns::ldk::crc::CRCFilter Class Reference

The CRCFilter FU avoids dropping of pre-defined compound types. More...

#include <ldk/crc/CRCFilter.hpp>

Inheritance diagram for wns::ldk::crc::CRCFilter:

Inheritance graph
[legend]
Collaboration diagram for wns::ldk::crc::CRCFilter:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 CRCFilter (fun::FUN *fuNet, const wns::pyconfig::View &_config)
 Constructor.
virtual ~CRCFilter ()
 Destructor.

Private Types

typedef std::vector
< wns::ldk::FunctionalUnit * > 
FUContainer
 Container for FUs.

Private Member Functions

FunctionalUnit interface
virtual bool doIsAccepting (const CompoundPtr &compound) const
virtual void doOnData (const CompoundPtr &compound)
virtual void doSendData (const CompoundPtr &compound)
virtual void doWakeup ()
virtual void onFUNCreated ()
virtual bool onSuspend () const

Private Attributes

wns::pyconfig::View config
struct
wns::ldk::crc::CRCFilter::Friends 
friends
FUContainer fus
 Compounds that contain at least one activated command of one of these FUs won't be filtered out.
logger::Logger logger

Classes

struct  Friends
 CRC FU whose command is used to decide whether the transmission of the compound was successful or failed. More...


Detailed Description

The CRCFilter FU may only be used together with a CRC FU operating in marking mode. It is recommended to insert the CRCFilter FU right above the CRC FU. The CRCFilter FU drops each compound that failed the CRCheck of the CRC FU and does not contain at least one activated command of one FU listed in the configuration of the CRCFilter FU. This way, it is possible to simulate error-free transmissions of pre-defined types of compounds, e.g. compounds carrying control information, over erroneous transmission links that avoids the necessity to implement error handling procedures.

Note:
:
  • The error-freeness is guaranteed only at that level of the connection the CRC and the CRCFilter FU are working, that means e.g. if the CRC/CRCFilter is used in the IP layer and there is already another crc in the DLL only that compounds may be kept by the CRCFilter that would have been filtered by the CRC in the IP layer. Hence, the transmission of the pre-defined compound types would not be error-free from a node-wide point of view.
  • Between the CRCFilter FU and the FUs listed in its configuration to determine whether a compound shall be discarded there must not be any FUs that wrap compounds like an SAR or Concatenation FU because then the commands of the listed FUs would be invisible to the CRCFilter FU and all compounds which failed the CRCheck would be dropped.

Definition at line 75 of file CRCFilter.hpp.


Member Typedef Documentation

Definition at line 83 of file CRCFilter.hpp.


Constructor & Destructor Documentation

CRCFilter::CRCFilter ( fun::FUN fuNet,
const wns::pyconfig::View _config 
) [explicit]

Definition at line 41 of file CRCFilter.cpp.

virtual wns::ldk::crc::CRCFilter::~CRCFilter (  )  [inline, virtual]

Definition at line 96 of file CRCFilter.hpp.


Member Function Documentation

virtual bool wns::ldk::crc::CRCFilter::doIsAccepting ( const CompoundPtr compound  )  const [inline, private, virtual]

Definition at line 114 of file CRCFilter.hpp.

void CRCFilter::doOnData ( const CompoundPtr compound  )  [private, virtual]

Definition at line 65 of file CRCFilter.cpp.

virtual void wns::ldk::crc::CRCFilter::doSendData ( const CompoundPtr compound  )  [inline, private, virtual]

Definition at line 105 of file CRCFilter.hpp.

virtual void wns::ldk::crc::CRCFilter::doWakeup (  )  [inline, private, virtual]

Definition at line 120 of file CRCFilter.hpp.

void CRCFilter::onFUNCreated (  )  [private, virtual]

Definition at line 54 of file CRCFilter.cpp.

virtual bool wns::ldk::crc::CRCFilter::onSuspend (  )  const [inline, private, virtual]

Implements wns::ldk::SuspendSupport.

Definition at line 129 of file CRCFilter.hpp.


Member Data Documentation

Reimplemented from wns::ldk::SuspendSupport.

Definition at line 150 of file CRCFilter.hpp.

Definition at line 148 of file CRCFilter.hpp.

Definition at line 151 of file CRCFilter.hpp.


The documentation for this class was generated from the following files:

Generated on Sat May 26 03:32:56 2012 for openWNS by  doxygen 1.5.5