User Manual, Developers Guide and API Documentation

wimemac::convergence::TxDurationSetter Class Reference

Sets the transmission duration in any outgoing compound. More...

#include <convergence/TxDurationSetter.hpp>

Inheritance diagram for wimemac::convergence::TxDurationSetter:

Inheritance graph
[legend]
Collaboration diagram for wimemac::convergence::TxDurationSetter:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 TxDurationSetter (wns::ldk::fun::FUN *fun, const wns::pyconfig::View &config)
virtual ~TxDurationSetter ()

Private Member Functions

void calculateSizes (const wns::ldk::CommandPool *commandPool, Bit &commandPoolSize, Bit &dataSize) const
 Calculate the sizes of the PDU.
void onFUNCreated ()
 Resolve inter-FU dependencies.
void processIncoming (const wns::ldk::CompoundPtr &compound)
 Processor Interface.
void processOutgoing (const wns::ldk::CompoundPtr &compound)
 Process compounds on downlink.

Private Attributes

struct
wimemac::convergence::TxDurationSetter::Friends 
friends
wns::logger::Logger logger
const std::string managerName

Classes

struct  Friends


Detailed Description

Works for both preambles and PSDUs.

Definition at line 67 of file TxDurationSetter.hpp.


Constructor & Destructor Documentation

wimemac::convergence::TxDurationSetter::TxDurationSetter ( wns::ldk::fun::FUN fun,
const wns::pyconfig::View config 
)

virtual wimemac::convergence::TxDurationSetter::~TxDurationSetter (  )  [virtual]


Member Function Documentation

void wimemac::convergence::TxDurationSetter::calculateSizes ( const wns::ldk::CommandPool commandPool,
Bit commandPoolSize,
Bit dataSize 
) const [private, virtual]

During size calculation, each FunctionalUnit is asked for the size of the PCI and SDU. Calculation begins with the layer the PDU last visited. To be able to calculate the sizes, a FunctionalUnit may in turn need to know the sizes as calculated by the FunctionalUnit right above itself.

It can do that by simply asking the CommandProxy, giving itself as questioner. The CommandProxy will then delegate the calculation request to the next higher FunctionalUnit in the path of the PDU.

Implements wns::ldk::CommandTypeSpecifierInterface.

void wimemac::convergence::TxDurationSetter::onFUNCreated (  )  [private, virtual]

Often FunctionalUnits require the collaboration with other FunctionalUnits to accomplish their task. For the collaboration between FunctionalUnits we coined the term "friendship".

The onFUNCreated method is a hook being called after the complete FUN has been set up. FunctionalUnits requiring the collaboration with other FunctionalUnits should resolve these dependencies by implementing this hook accordingly.

Finding friends is usually done calling wns::ldk::fun::FUN::findFriend.

When building reconfigurable FUNs, this method may get called multiple times (e.g., after each FUN reconfiguration). Keep that in mind when allocating resources in your onFUNCreated implementation.

Reimplemented from wns::ldk::FunctionalUnit.

void wimemac::convergence::TxDurationSetter::processIncoming ( const wns::ldk::CompoundPtr compound  )  [private, virtual]

void wimemac::convergence::TxDurationSetter::processOutgoing ( const wns::ldk::CompoundPtr  )  [private, virtual]

Override this method to handle outgoing compounds.

Implements wns::ldk::ProcessorInterface.


Member Data Documentation

Definition at line 86 of file TxDurationSetter.hpp.

Definition at line 85 of file TxDurationSetter.hpp.


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

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