User Manual, Developers Guide and API Documentation

wns::ldk::sar::SegAndConcat Class Reference

#include <ldk/sar/SegAndConcat.hpp>

Inheritance diagram for wns::ldk::sar::SegAndConcat:

Inheritance graph
[legend]
Collaboration diagram for wns::ldk::sar::SegAndConcat:

Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual void calculateSizes (const wns::ldk::CommandPool *commandPool, Bit &commandPoolSize, Bit &dataSize) const
 Default calculateSizes implementation.
virtual wns::ldk::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 wns::ldk::CompoundPtr hasSomethingToSend () const
 Return a PDU that is ready to be sent or NULL, if none available.
virtual void onFUNCreated ()
 Resolve inter-FU dependencies.
virtual void processIncoming (const wns::ldk::CompoundPtr &compound)
 Process compounds on uplink.
virtual void processOutgoing (const wns::ldk::CompoundPtr &)
 Process compounds on downlink.
 SegAndConcat (const SegAndConcat &)
 SegAndConcat (wns::ldk::fun::FUN *fuNet, const wns::pyconfig::View &config)
virtual ~SegAndConcat ()

Protected Member Functions

wns::ldk::CommandReaderInterfacegetCommandReader () const

Protected Attributes

bool isSegmenting_
wns::logger::Logger logger_

Private Member Functions

void onDiscardedPDU (long, wns::ldk::CompoundPtr)
void onReorderedPDU (long, wns::ldk::CompoundPtr)

Private Attributes

std::string commandName_
Bit headerSize_
wns::probe::bus::ContextCollectorPtr maxDelayCC_
wns::probe::bus::ContextCollectorPtr minDelayCC_
long nextOutgoingSN_
wns::ldk::CommandReaderInterfaceprobeHeaderReader_
reassembly::ReassemblyBuffer reassemblyBuffer_
reassembly::ReorderingWindow reorderingWindow_
Bit sduLengthAddition_
wns::probe::bus::ContextCollectorPtr segmentDropRatioCC_
std::string segmentDropRatioProbeName_
Bit segmentSize_
std::list< wns::ldk::CompoundPtrsenderPendingSegments_
wns::probe::bus::ContextCollectorPtr sizeCC_


Detailed Description

Definition at line 130 of file SegAndConcat.hpp.


Constructor & Destructor Documentation

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

Definition at line 26 of file SegAndConcat.cpp.

SegAndConcat::SegAndConcat ( const SegAndConcat other  ) 

Definition at line 68 of file SegAndConcat.cpp.

SegAndConcat::~SegAndConcat (  )  [virtual]

Definition at line 94 of file SegAndConcat.cpp.


Member Function Documentation

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

The default implementation delegates calculation to upper functional units, modifying the result to include the size of the provided Command.

Reimplemented from wns::ldk::CommandTypeSpecifier< T >.

Definition at line 285 of file SegAndConcat.cpp.

wns::ldk::CommandReaderInterface * SegAndConcat::getCommandReader (  )  const [protected]

Definition at line 106 of file SegAndConcat.cpp.

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

Definition at line 268 of file SegAndConcat.cpp.

bool SegAndConcat::hasCapacity (  )  const [virtual]

While hasCapacity returns false, processIncoming will never be called.

Implements wns::ldk::DelayedInterface.

Definition at line 249 of file SegAndConcat.cpp.

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

Implements wns::ldk::DelayedInterface.

Definition at line 255 of file SegAndConcat.cpp.

void SegAndConcat::onDiscardedPDU ( long  ,
wns::ldk::CompoundPtr   
) [private]

Definition at line 243 of file SegAndConcat.cpp.

void SegAndConcat::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 99 of file SegAndConcat.cpp.

void SegAndConcat::onReorderedPDU ( long  sn,
wns::ldk::CompoundPtr  c 
) [private]

Definition at line 181 of file SegAndConcat.cpp.

void SegAndConcat::processIncoming ( const wns::ldk::CompoundPtr compound  )  [virtual]

Override this method to handle incoming compounds.

Implements wns::ldk::DelayedInterface.

Reimplemented in lte::rlc::UnacknowledgedMode.

Definition at line 112 of file SegAndConcat.cpp.

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

Override this method to handle outgoing compounds.

Implements wns::ldk::DelayedInterface.

Reimplemented in lte::rlc::UnacknowledgedMode.

Definition at line 123 of file SegAndConcat.cpp.


Member Data Documentation

Definition at line 186 of file SegAndConcat.hpp.

Definition at line 188 of file SegAndConcat.hpp.

Definition at line 174 of file SegAndConcat.hpp.

Definition at line 173 of file SegAndConcat.hpp.

Definition at line 201 of file SegAndConcat.hpp.

Definition at line 200 of file SegAndConcat.hpp.

Definition at line 194 of file SegAndConcat.hpp.

Definition at line 203 of file SegAndConcat.hpp.

Definition at line 196 of file SegAndConcat.hpp.

Definition at line 198 of file SegAndConcat.hpp.

Definition at line 192 of file SegAndConcat.hpp.

Definition at line 205 of file SegAndConcat.hpp.

Definition at line 206 of file SegAndConcat.hpp.

Definition at line 190 of file SegAndConcat.hpp.

Definition at line 184 of file SegAndConcat.hpp.

Definition at line 202 of file SegAndConcat.hpp.


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

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