User Manual, Developers Guide and API Documentation

wifimac::draftn::Aggregation Class Reference

Frame aggregation according to IEEE 802.11n Draft 8.0. More...

#include <draftn/Aggregation.hpp>

Inheritance diagram for wifimac::draftn::Aggregation:

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

Collaboration graph
[legend]

List of all members.

Public Member Functions

 Aggregation (wns::ldk::fun::FUN *fun, const wns::pyconfig::View &config)
wns::ldk::CompoundPtr getSomethingToSend ()
 Prepares the ougoing compound for transmission.
const wns::ldk::CompoundPtr hasSomethingToSend () const
 Checks if outgoing compounds are pending.
void onFUNCreated ()
 Resolve inter-FU dependencies.
void onTimeout ()
 CanTimeout interface realization.
void processOutgoing (const wns::ldk::CompoundPtr &compound)
 Enhance the wns::ldk::concatenation::Concatenation with an early closing of the aggregation in the case of direct reply request, different receiver or impatient behaviour.

Private Attributes

wns::probe::bus::ContextCollectorPtr aggregationSizeFrames
wns::service::dll::UnicastAddress currentReceiver
struct
wifimac::draftn::Aggregation::Friends 
friends
const bool impatientTransmission
const std::string managerName
const wns::simulator::Time maxDelay
bool sendNow

Classes

struct  Friends


Detailed Description

This frame aggregation FU is derived from wns::ldk::concatenation::Concatenation, which is changed in the following manner:

An additional probe measures the number of frames in one aggregation train.

Definition at line 57 of file Aggregation.hpp.


Constructor & Destructor Documentation

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

Definition at line 48 of file Aggregation.cpp.


Member Function Documentation

wns::ldk::CompoundPtr Aggregation::getSomethingToSend (  )  [virtual]

Reimplemented from wns::ldk::concatenation::Concatenation.

Definition at line 182 of file Aggregation.cpp.

const wns::ldk::CompoundPtr Aggregation::hasSomethingToSend (  )  const [virtual]

Reimplemented from wns::ldk::concatenation::Concatenation.

Definition at line 169 of file Aggregation.cpp.

void Aggregation::onFUNCreated (  )  [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 76 of file Aggregation.cpp.

void Aggregation::onTimeout (  )  [virtual]

Implements wns::events::CanTimeout.

Definition at line 161 of file Aggregation.cpp.

void Aggregation::processOutgoing ( const wns::ldk::CompoundPtr compound  )  [virtual]

Reimplemented from wns::ldk::concatenation::Concatenation.

Definition at line 83 of file Aggregation.cpp.


Member Data Documentation

Definition at line 93 of file Aggregation.hpp.

Definition at line 91 of file Aggregation.hpp.

Definition at line 88 of file Aggregation.hpp.

const std::string wifimac::draftn::Aggregation::managerName [private]

Definition at line 87 of file Aggregation.hpp.

Definition at line 89 of file Aggregation.hpp.

Definition at line 90 of file Aggregation.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