User Manual, Developers Guide and API Documentation

wns::ldk::concatenation::Concatenation Class Reference

Concatenation of multiple compounds.

#include <ldk/concatenation/Concatenation.hpp>

Inheritance diagram for wns::ldk::concatenation::Concatenation:

Inheritance graph
[legend]
Collaboration diagram for wns::ldk::concatenation::Concatenation:

Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual void calculateSizes (const CommandPool *commandPool, Bit &commandPoolSize, Bit &dataSize) const
 SDU and PCI size calculation.
 Concatenation (fun::FUN *fuNet, const wns::pyconfig::View &config)
virtual CompoundPtr getSomethingToSend ()
 Return the PDU that is ready to be sent.
virtual bool hasCapacity () const
 Return true, if the FunctionalUnit is still accepting compounds.
virtual const CompoundPtr hasSomethingToSend () const
 Return a PDU that is ready to be sent or NULL, if none available.
virtual void processIncoming (const CompoundPtr &compound)
 Processor interface.
virtual void processOutgoing (const CompoundPtr &compound)
 Process compounds on downlink.
 ~Concatenation ()

Protected Member Functions

Bit calculatePadding (Bit pduSize, Bit paddingBoundary) const
 calculate the required padding towards a given boundary
CompoundPtr createContainer (const CompoundPtr &firstEntry)
 create new container with first compound entry

Protected Attributes

const bool countPCISizeOfEntries
 count the size of each PCI of each entry
Bit currentCommandPoolSize
 current PCI size of the container compound in the buffer
CompoundPtr currentCompound
 the container compound
int currentEntries
 current number of entries in the container compound
Bit currentSDUSize
 current SDU size of the container compound in the buffer
const Bit entryPaddingBoundary
 pad entries towards a multiple of a given bit boundary
logger::Logger logger
int maxEntries
 maximum number of entries per container compound
const Bit maxSize
 maximum size of the container compound
CompoundPtr nextCompound
const Bit numBitsIfConcatenated
 Size of the PCI of the container compound with > 1 entries.
const Bit numBitsIfNotConcatenated
 Size of the PCI of the container with 1 entry.
const Bit numBitsPerEntry
 Number of PCI bits per entry in the container compound.


Detailed Description

Definition at line 66 of file Concatenation.hpp.


Constructor & Destructor Documentation

Concatenation::Concatenation ( fun::FUN fuNet,
const wns::pyconfig::View config 
)

Definition at line 40 of file Concatenation.cpp.

Concatenation::~Concatenation (  ) 

Definition at line 66 of file Concatenation.cpp.


Member Function Documentation

Bit Concatenation::calculatePadding ( Bit  pduSize,
Bit  paddingBoundary 
) const [protected]

Definition at line 267 of file Concatenation.cpp.

void Concatenation::calculateSizes ( const CommandPool commandPool,
Bit commandPoolSize,
Bit dataSize 
) const [virtual]

Implements wns::ldk::CommandTypeSpecifierInterface.

Definition at line 207 of file Concatenation.cpp.

CompoundPtr Concatenation::createContainer ( const CompoundPtr firstEntry  )  [protected]

Definition at line 157 of file Concatenation.cpp.

CompoundPtr Concatenation::getSomethingToSend (  )  [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.

Reimplemented in wifimac::draftn::Aggregation.

Definition at line 179 of file Concatenation.cpp.

bool Concatenation::hasCapacity (  )  const [virtual]

While hasCapacity returns false, processIncoming will never be called.

Implements wns::ldk::DelayedInterface.

Definition at line 94 of file Concatenation.cpp.

const CompoundPtr Concatenation::hasSomethingToSend (  )  const [virtual]

Implements wns::ldk::DelayedInterface.

Reimplemented in wifimac::draftn::Aggregation.

Definition at line 172 of file Concatenation.cpp.

void Concatenation::processIncoming ( const CompoundPtr compound  )  [virtual]

Implements wns::ldk::DelayedInterface.

Definition at line 72 of file Concatenation.cpp.

void Concatenation::processOutgoing ( const CompoundPtr  )  [virtual]

Override this method to handle outgoing compounds.

Implements wns::ldk::DelayedInterface.

Reimplemented in wifimac::draftn::Aggregation.

Definition at line 100 of file Concatenation.cpp.


Member Data Documentation

Definition at line 118 of file Concatenation.hpp.

Definition at line 98 of file Concatenation.hpp.

Definition at line 101 of file Concatenation.hpp.

Definition at line 108 of file Concatenation.hpp.

Definition at line 95 of file Concatenation.hpp.

Definition at line 120 of file Concatenation.hpp.

Definition at line 122 of file Concatenation.hpp.

Definition at line 106 of file Concatenation.hpp.

Definition at line 92 of file Concatenation.hpp.

Definition at line 103 of file Concatenation.hpp.

Definition at line 111 of file Concatenation.hpp.

Definition at line 115 of file Concatenation.hpp.

Definition at line 113 of file Concatenation.hpp.


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

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