![]() |
User Manual, Developers Guide and API Documentation |
![]() |
#include <ldk/arq/CumulativeACK.hpp>


Public Member Functions | |
| void | calculateSizes (const CommandPool *commandPool, Bit &commandPoolSize, Bit &sduSize) const |
| Calculate the sizes of the PDU. | |
| CumulativeACK (fun::FUN *fuNet, const wns::pyconfig::View &config) | |
| FUNConfigCreator interface realisation. | |
| virtual wns::ldk::CompoundPtr | getACK () |
| Return an acknowledgement Compound for transmission. | |
| virtual wns::ldk::CompoundPtr | getData () |
| Return a user data Compound for transmission. | |
| virtual const wns::ldk::CompoundPtr | hasACK () const |
| ARQ interface realization. | |
| virtual bool | hasCapacity () const |
| Return true, if the FunctionalUnit is still accepting compounds. | |
| virtual const wns::ldk::CompoundPtr | hasData () const |
| Return a user data Compound that should be considered for transmission. | |
| virtual bool | onSuspend () const |
| virtual void | onTimeout () |
| CanTimeout interface realisation. | |
| virtual void | processIncoming (const CompoundPtr &compound) |
| Process compounds on uplink. | |
| virtual void | processOutgoing (const CompoundPtr &sdu) |
| Process compounds on downlink. | |
| ~CumulativeACK () | |
Protected Member Functions | |
| virtual void | doDelayDelivery () |
| virtual void | doDeliver () |
Protected Attributes | |
| wns::ldk::CompoundPtr | ackCompound |
| ACK PDU. | |
| int | delayedDeliveryNR |
| bool | delayingDelivery |
| logger::Logger | logger |
| unsigned long int | NR |
| Sequence number of the next packet expected to be received. | |
| unsigned long int | NS |
| Sequence number of the next packet to be sent. | |
| unsigned long int | NSack |
| Sequence number of the first packet expected to be acknowledged. | |
| CAElements | receivingCompounds |
| Container for compounds with their Atributes. | |
| double | resendTimeout |
| Time between two transmissions of the same PDU. | |
| CAElements | sendingCompounds |
| int | sequenceNumberSize |
| Divisor for Sequence Numbers. | |
| unsigned long int | wS |
| Window size. | |
Private Types | |
| typedef std::vector< CAElement > | CAElements |
| Container for the compounds and their Attributes. | |
Classes | |
| class | CAElement |
| An element for a PDU and its ARQ-Attributes . More... | |
Definition at line 85 of file CumulativeACK.hpp.
typedef std::vector<CAElement> wns::ldk::arq::CumulativeACK::CAElements [private] |
Definition at line 135 of file CumulativeACK.hpp.
| CumulativeACK::CumulativeACK | ( | fun::FUN * | fuNet, | |
| const wns::pyconfig::View & | config | |||
| ) |
Definition at line 41 of file CumulativeACK.cpp.
| CumulativeACK::~CumulativeACK | ( | ) |
Definition at line 67 of file CumulativeACK.cpp.
| void CumulativeACK::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 289 of file CumulativeACK.cpp.
| void CumulativeACK::doDelayDelivery | ( | ) | [protected, virtual] |
| void CumulativeACK::doDeliver | ( | ) | [protected, virtual] |
| wns::ldk::CompoundPtr CumulativeACK::getACK | ( | ) | [virtual] |
getACK will only get called after a call to hasACK. Every implementation of this interface /must/ return the same Compound for subsequent hasACK/getACK calls.
Implements wns::ldk::arq::ARQ.
Definition at line 130 of file CumulativeACK.cpp.
| wns::ldk::CompoundPtr CumulativeACK::getData | ( | ) | [virtual] |
getData will only get called after a call to hasData. Every implementation of this interface /must/ return the same Compound for subsequent hasData/getData calls.
Implements wns::ldk::arq::ARQ.
Definition at line 142 of file CumulativeACK.cpp.
| const wns::ldk::CompoundPtr CumulativeACK::hasACK | ( | ) | const [virtual] |
| bool CumulativeACK::hasCapacity | ( | ) | const [virtual] |
While hasCapacity returns false, processIncoming will never be called.
Implements wns::ldk::DelayedInterface.
Definition at line 75 of file CumulativeACK.cpp.
| const wns::ldk::CompoundPtr CumulativeACK::hasData | ( | ) | const [virtual] |
Every implementation should return CompoundPtr() in case there is no user data Compound scheduled for transmission.
Implements wns::ldk::arq::ARQ.
Definition at line 114 of file CumulativeACK.cpp.
| bool CumulativeACK::onSuspend | ( | ) | const [virtual] |
| virtual void wns::ldk::arq::CumulativeACK::onTimeout | ( | ) | [inline, virtual] |
| void CumulativeACK::processIncoming | ( | const CompoundPtr & | compound | ) | [virtual] |
Override this method to handle incoming compounds.
Implements wns::ldk::DelayedInterface.
Definition at line 165 of file CumulativeACK.cpp.
| void CumulativeACK::processOutgoing | ( | const CompoundPtr & | ) | [virtual] |
Override this method to handle outgoing compounds.
Implements wns::ldk::DelayedInterface.
Definition at line 87 of file CumulativeACK.cpp.
Definition at line 168 of file CumulativeACK.hpp.
int wns::ldk::arq::CumulativeACK::delayedDeliveryNR [protected] |
Definition at line 186 of file CumulativeACK.hpp.
bool wns::ldk::arq::CumulativeACK::delayingDelivery [protected] |
Definition at line 185 of file CumulativeACK.hpp.
logger::Logger wns::ldk::arq::CumulativeACK::logger [protected] |
Definition at line 188 of file CumulativeACK.hpp.
unsigned long int wns::ldk::arq::CumulativeACK::NR [protected] |
Definition at line 176 of file CumulativeACK.hpp.
unsigned long int wns::ldk::arq::CumulativeACK::NS [protected] |
Definition at line 172 of file CumulativeACK.hpp.
unsigned long int wns::ldk::arq::CumulativeACK::NSack [protected] |
Definition at line 174 of file CumulativeACK.hpp.
Definition at line 180 of file CumulativeACK.hpp.
double wns::ldk::arq::CumulativeACK::resendTimeout [protected] |
Definition at line 183 of file CumulativeACK.hpp.
Definition at line 181 of file CumulativeACK.hpp.
int wns::ldk::arq::CumulativeACK::sequenceNumberSize [protected] |
Definition at line 178 of file CumulativeACK.hpp.
unsigned long int wns::ldk::arq::CumulativeACK::wS [protected] |
Definition at line 170 of file CumulativeACK.hpp.
1.5.5