User Manual, Developers Guide and API Documentation

wifimac::draftn::LongTrainingFieldGenerator Class Reference

Postfixes the preamble with a HT-LTFs.

#include <draftn/LongTrainingFieldGenerator.hpp>

Inheritance diagram for wifimac::draftn::LongTrainingFieldGenerator:

Inheritance graph
[legend]
Collaboration diagram for wifimac::draftn::LongTrainingFieldGenerator:

Collaboration graph
[legend]

List of all members.

Public Member Functions

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

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::draftn::LongTrainingFieldGenerator::Friends 
friends
wns::logger::Logger logger
const wns::simulator::Time ltfDuration
const std::string managerName
int numLTFsToSend
wns::ldk::CompoundPtr pendingCompound
const std::string phyUserName
wifimac::management::ProtocolCalculatorprotocolCalculator
const std::string protocolCalculatorName
const bool reducePreambleByDuration
wifimac::draftn::SINRwithMIMOInformationBasesinrMIB
const std::string sinrMIBServiceName
const std::string txDurationSetterName

Classes

struct  Friends


Detailed Description

Definition at line 63 of file LongTrainingFieldGenerator.hpp.


Constructor & Destructor Documentation

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

Definition at line 41 of file LongTrainingFieldGenerator.cpp.

LongTrainingFieldGenerator::~LongTrainingFieldGenerator (  )  [virtual]

Definition at line 61 of file LongTrainingFieldGenerator.cpp.


Member Function Documentation

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

wns::ldk::CompoundPtr LongTrainingFieldGenerator::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 160 of file LongTrainingFieldGenerator.cpp.

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

While hasCapacity returns false, processIncoming will never be called.

Implements wns::ldk::DelayedInterface.

Definition at line 192 of file LongTrainingFieldGenerator.cpp.

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

Implements wns::ldk::DelayedInterface.

Definition at line 154 of file LongTrainingFieldGenerator.cpp.

void LongTrainingFieldGenerator::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 67 of file LongTrainingFieldGenerator.cpp.

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

Implements wns::ldk::DelayedInterface.

Definition at line 80 of file LongTrainingFieldGenerator.cpp.

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

Override this method to handle outgoing compounds.

Implements wns::ldk::DelayedInterface.

Definition at line 115 of file LongTrainingFieldGenerator.cpp.


Member Data Documentation

Definition at line 99 of file LongTrainingFieldGenerator.hpp.

Definition at line 94 of file LongTrainingFieldGenerator.hpp.

Definition at line 90 of file LongTrainingFieldGenerator.hpp.

Definition at line 97 of file LongTrainingFieldGenerator.hpp.

Definition at line 101 of file LongTrainingFieldGenerator.hpp.

Definition at line 88 of file LongTrainingFieldGenerator.hpp.

Definition at line 102 of file LongTrainingFieldGenerator.hpp.

Definition at line 89 of file LongTrainingFieldGenerator.hpp.

Definition at line 95 of file LongTrainingFieldGenerator.hpp.

Definition at line 111 of file LongTrainingFieldGenerator.hpp.

Definition at line 92 of file LongTrainingFieldGenerator.hpp.

Definition at line 91 of file LongTrainingFieldGenerator.hpp.


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

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