User Manual, Developers Guide and API Documentation

wifimac::convergence::PreambleGenerator Class Reference

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

#include <convergence/PreambleGenerator.hpp>

Inheritance diagram for wifimac::convergence::PreambleGenerator:

Inheritance graph
[legend]
Collaboration diagram for wifimac::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
wifimac::convergence::PreambleGenerator::Friends 
friends
wns::logger::Logger logger
const std::string managerName
wns::ldk::CompoundPtr pendingCompound
wns::ldk::CompoundPtr pendingPreamble
const std::string phyUserName
wifimac::management::ProtocolCalculatorprotocolCalculator
const std::string protocolCalculatorName

Classes

struct  Friends


Detailed Description

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

Definition at line 75 of file PreambleGenerator.hpp.


Constructor & Destructor Documentation

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

Definition at line 40 of file PreambleGenerator.cpp.

PreambleGenerator::~PreambleGenerator (  )  [virtual]

Definition at line 55 of file PreambleGenerator.cpp.


Member Function Documentation

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

Implements wns::ldk::CommandTypeSpecifierInterface.

Definition at line 151 of file PreambleGenerator.cpp.

wns::ldk::CompoundPtr 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.

Definition at line 123 of file PreambleGenerator.cpp.

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

While hasCapacity returns false, processIncoming will never be called.

Implements wns::ldk::DelayedInterface.

Definition at line 145 of file PreambleGenerator.cpp.

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

Implements wns::ldk::DelayedInterface.

Definition at line 112 of file PreambleGenerator.cpp.

void 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.

Definition at line 61 of file PreambleGenerator.cpp.

void PreambleGenerator::processIncoming ( const wns::ldk::CompoundPtr compound  )  [private, virtual]

Implements wns::ldk::DelayedInterface.

Definition at line 72 of file PreambleGenerator.cpp.

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

Override this method to handle outgoing compounds.

Implements wns::ldk::DelayedInterface.

Definition at line 86 of file PreambleGenerator.cpp.


Member Data Documentation

Definition at line 104 of file PreambleGenerator.hpp.

Definition at line 102 of file PreambleGenerator.hpp.

Definition at line 106 of file PreambleGenerator.hpp.

Definition at line 107 of file PreambleGenerator.hpp.

Definition at line 100 of file PreambleGenerator.hpp.

Definition at line 108 of file PreambleGenerator.hpp.

Definition at line 101 of file PreambleGenerator.hpp.


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

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