User Manual, Developers Guide and API Documentation

wns::ldk::harq::HARQFU Class Reference

#include <ldk/harq/HARQ.hpp>

Inheritance diagram for wns::ldk::harq::HARQFU:

Inheritance graph
[legend]
Collaboration diagram for wns::ldk::harq::HARQFU:

Collaboration graph
[legend]

List of all members.

Public Member Functions

void calculateSizes (const CommandPool *commandPool, Bit &commandPoolSize, Bit &dataSize) const
 Calculate the sizes of the PDU.
 HARQFU (fun::FUN *fuNet, const wns::pyconfig::View &config)
virtual void onFUNCreated ()
 Resolve inter-FU dependencies.
 ~HARQFU ()

Private Member Functions

void addToSendQueue (wns::ldk::CompoundPtr compound)
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 processIncoming (const wns::ldk::CompoundPtr &compound)
 Process compounds on uplink.
virtual void processOutgoing (const wns::ldk::CompoundPtr &)
 Process compounds on downlink.

Private Attributes

wns::logger::Logger logger_
int numReceiverProcesses_
int numRVs_
int numSenderProcesses_
std::vector
< HARQFU::HARQReceiverProcess
receiverProcesses_
std::vector< HARQSenderProcesssenderProcesses_
std::list< wns::ldk::CompoundPtrsendQueue_

Classes

class  HARQReceiverProcess
class  HARQSenderProcess


Detailed Description

Definition at line 74 of file HARQ.hpp.


Constructor & Destructor Documentation

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

Definition at line 225 of file HARQ.cpp.

HARQFU::~HARQFU (  ) 

Definition at line 244 of file HARQ.cpp.


Member Function Documentation

void HARQFU::addToSendQueue ( wns::ldk::CompoundPtr  compound  )  [private]

Definition at line 381 of file HARQ.cpp.

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

During size calculation, each FunctionalUnit is asked for the size of the PCI and SDU. Calculation begins with the layer the PDU last visited. To be able to calculate the sizes, a FunctionalUnit may in turn need to know the sizes as calculated by the FunctionalUnit right above itself.

It can do that by simply asking the CommandProxy, giving itself as questioner. The CommandProxy will then delegate the calculation request to the next higher FunctionalUnit in the path of the PDU.

Implements wns::ldk::CommandTypeSpecifierInterface.

Definition at line 372 of file HARQ.cpp.

wns::ldk::CompoundPtr HARQFU::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 285 of file HARQ.cpp.

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

While hasCapacity returns false, processIncoming will never be called.

Implements wns::ldk::DelayedInterface.

Definition at line 258 of file HARQ.cpp.

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

Implements wns::ldk::DelayedInterface.

Definition at line 274 of file HARQ.cpp.

void HARQFU::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 249 of file HARQ.cpp.

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

Override this method to handle incoming compounds.

Implements wns::ldk::DelayedInterface.

Definition at line 322 of file HARQ.cpp.

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

Override this method to handle outgoing compounds.

Implements wns::ldk::DelayedInterface.

Definition at line 299 of file HARQ.cpp.


Member Data Documentation

Definition at line 172 of file HARQ.hpp.

Definition at line 176 of file HARQ.hpp.

Definition at line 178 of file HARQ.hpp.

Definition at line 174 of file HARQ.hpp.

Definition at line 182 of file HARQ.hpp.

Definition at line 180 of file HARQ.hpp.

Definition at line 184 of file HARQ.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