User Manual, Developers Guide and API Documentation

wimemac::convergence::PreambleGenerator Class Reference

Prefixes an OFDM-preamble to any compound. More...

#include <convergence/PreambleGenerator.hpp>

Inheritance diagram for wimemac::convergence::PreambleGenerator:

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

Collaboration graph
[legend]

List of all members.

Public Member Functions

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

Private Member Functions

void calculateSizes (const wns::ldk::CommandPool *commandPool, Bit &commandPoolSize, Bit &dataSize) const
 SDU and PCI size calculation for preambles -> no size!
wns::ldk::CompoundPtr getSomethingToSend ()
 Return the PDU that is ready to be sent.
bool hasCapacity () const
 Return true, if the FunctionalUnit is still accepting compounds.
const wns::ldk::CompoundPtr hasSomethingToSend () const
 Return a PDU that is ready to be sent or NULL, if none available.
void onFUNCreated ()
 Resolve inter-FU dependencies.
void processIncoming (const wns::ldk::CompoundPtr &compound)
 Delayed Interface.
void processOutgoing (const wns::ldk::CompoundPtr &compound)
 Process compounds on downlink.

Private Attributes

struct
wimemac::convergence::PreambleGenerator::Friends 
friends
wimemac::CompoundType lastReceivedCompoundType
wns::logger::Logger logger
const std::string managerName
wns::ldk::CompoundPtr pendingCompound
wns::ldk::CompoundPtr pendingPreamble
const std::string phyUserName

Classes

struct  Friends


Detailed Description

A IEEE 802.11 OFDM transmission (according to .11a/g) consists of several elements:

Definition at line 74 of file PreambleGenerator.hpp.


Constructor & Destructor Documentation

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

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


Member Function Documentation

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

wns::ldk::CompoundPtr wimemac::convergence::PreambleGenerator::getSomethingToSend (  )  [private, virtual]

This method must never return NULL. This method will only be called after a call to hasSomethingToSend returned a non-null value. The FunctionalUnit must return the same PDU as returned by hasSomethingToSend.

Implements wns::ldk::DelayedInterface.

bool wimemac::convergence::PreambleGenerator::hasCapacity (  )  const [private, virtual]

While hasCapacity returns false, processIncoming will never be called.

Implements wns::ldk::DelayedInterface.

const wns::ldk::CompoundPtr wimemac::convergence::PreambleGenerator::hasSomethingToSend (  )  const [private, virtual]

void wimemac::convergence::PreambleGenerator::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::PreambleGenerator::processIncoming ( const wns::ldk::CompoundPtr compound  )  [private, virtual]

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

Override this method to handle outgoing compounds.

Implements wns::ldk::DelayedInterface.


Member Data Documentation

Definition at line 101 of file PreambleGenerator.hpp.

Definition at line 100 of file PreambleGenerator.hpp.

Definition at line 98 of file PreambleGenerator.hpp.

Definition at line 103 of file PreambleGenerator.hpp.

Definition at line 104 of file PreambleGenerator.hpp.

Definition at line 97 of file PreambleGenerator.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