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


Public Member Functions | |
| CumulativeACK (wns::ldk::fun::FUN *_fun, const wns::pyconfig::View &_pyco) | |
| virtual bool | doIsAccepting (const wns::ldk::CompoundPtr &_compound) const |
| Implementation of the CompoundHandlerInterface. | |
| virtual void | doOnData (const wns::ldk::CompoundPtr &_compound) |
| virtual void | doSendData (const wns::ldk::CompoundPtr &_compound) |
| simTimeType | getRetransmissionTimeout () |
| virtual void | onFUNCreated () |
| Resolve inter-FU dependencies. | |
| unsigned long int | sendCredit () const |
| Return the number of compounds being allowed to be sent. | |
| virtual | ~CumulativeACK () |
| Component's destructor. | |
Private Types | |
| typedef wns::container::Registry < unsigned long int, wns::ldk::CompoundPtr, wns::container::registry::NoneOnErase > | Compounds |
| Container for the compounds. | |
| typedef wns::container::Registry < unsigned long int, Timeout *, wns::container::registry::DeleteOnErase > | Timeouts |
| Container for the time out events. | |
Private Member Functions | |
| void | doWakeup () |
| unsigned long int | min (const unsigned long int x, const unsigned long int y) const |
| void | retransmitData (const unsigned long int seqNr) |
| void | updateTCPHeader (const wns::ldk::CompoundPtr &_compound) |
Private Attributes | |
| wns::ldk::CompoundPtr | ackCompound |
| Acknowledgement compound of the last in order received TCP segement. | |
| unsigned long int | ackNR |
| The sequence number of the next segment to be received/acknowledged. | |
| unsigned long int | advertisedWindowSize |
| The receiver's buffer size being capable of processing incoming TCP segments. | |
| CongestionControl * | ccStrategy |
| The congestion control instance which guaranties slow start behaviour and is recalculating window size from the sender's point of view. | |
| wns::ldk::CompoundPtr | copiedACKCompound |
| wns::ldk::fun::FUN * | fun |
| unsigned long int | instanceID |
| unsigned long int | lastACKInOrder |
| The last successfully received acknowledgment number. | |
| wns::logger::Logger | logger |
| unsigned long int | probeNumber |
| bool | probingEnabled |
| const wns::pyconfig::View & | pyco |
| Compounds | receivingCompounds |
| Container for received compounds. | |
| simTimeType | retransmissionTimeout |
| Time between retransmitting a TCP segment given in seconds. | |
| wns::probe::bus::ContextCollectorPtr | sendCreditContextCollector |
| Compounds | sendingCompounds |
| All the compounds that have been sent but not acknowledged yet. | |
| unsigned long int | sequenceNR |
| The sequence number of the next segment to be sent. | |
| wns::ldk::CommandReaderInterface * | tcpHeaderReader |
| Reader for the TCP Header. | |
| Timeouts | timeoutSendingCompounds |
| Timeout events of compounds sent out. | |
| wns::probe::bus::ContextCollectorPtr | windowSizeContextCollector |
Classes | |
| class | Timeout |
| An element for a compound. More... | |
Definition at line 103 of file CumulativeACK.hpp.
typedef wns::container::Registry<unsigned long int, wns::ldk::CompoundPtr, wns::container::registry::NoneOnErase> tcp::CumulativeACK::Compounds [private] |
Definition at line 163 of file CumulativeACK.hpp.
typedef wns::container::Registry<unsigned long int, Timeout*, wns::container::registry::DeleteOnErase> tcp::CumulativeACK::Timeouts [private] |
Definition at line 158 of file CumulativeACK.hpp.
| CumulativeACK::CumulativeACK | ( | wns::ldk::fun::FUN * | _fun, | |
| const wns::pyconfig::View & | _pyco | |||
| ) |
Definition at line 51 of file CumulativeACK.cpp.
| CumulativeACK::~CumulativeACK | ( | ) | [virtual] |
Definition at line 94 of file CumulativeACK.cpp.
| virtual bool tcp::CumulativeACK::doIsAccepting | ( | const wns::ldk::CompoundPtr & | _compound | ) | const [virtual] |
| virtual void tcp::CumulativeACK::doOnData | ( | const wns::ldk::CompoundPtr & | _compound | ) | [virtual] |
| virtual void tcp::CumulativeACK::doSendData | ( | const wns::ldk::CompoundPtr & | _compound | ) | [virtual] |
| void CumulativeACK::doWakeup | ( | ) | [private] |
Definition at line 384 of file CumulativeACK.cpp.
| simTimeType tcp::CumulativeACK::getRetransmissionTimeout | ( | ) | [inline] |
Definition at line 198 of file CumulativeACK.hpp.
| unsigned long int CumulativeACK::min | ( | const unsigned long int | x, | |
| const unsigned long int | y | |||
| ) | const [private] |
Definition at line 394 of file CumulativeACK.cpp.
| void CumulativeACK::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 115 of file CumulativeACK.cpp.
| void CumulativeACK::retransmitData | ( | const unsigned long int | seqNr | ) | [private] |
Definition at line 348 of file CumulativeACK.cpp.
| unsigned long int CumulativeACK::sendCredit | ( | ) | const |
Definition at line 401 of file CumulativeACK.cpp.
| void tcp::CumulativeACK::updateTCPHeader | ( | const wns::ldk::CompoundPtr & | _compound | ) | [private] |
Definition at line 271 of file CumulativeACK.hpp.
unsigned long int tcp::CumulativeACK::ackNR [private] |
Definition at line 240 of file CumulativeACK.hpp.
unsigned long int tcp::CumulativeACK::advertisedWindowSize [private] |
Definition at line 230 of file CumulativeACK.hpp.
CongestionControl* tcp::CumulativeACK::ccStrategy [private] |
Definition at line 224 of file CumulativeACK.hpp.
Definition at line 272 of file CumulativeACK.hpp.
wns::ldk::fun::FUN* tcp::CumulativeACK::fun [private] |
Definition at line 217 of file CumulativeACK.hpp.
unsigned long int tcp::CumulativeACK::instanceID [private] |
Definition at line 281 of file CumulativeACK.hpp.
unsigned long int tcp::CumulativeACK::lastACKInOrder [private] |
Definition at line 245 of file CumulativeACK.hpp.
Definition at line 215 of file CumulativeACK.hpp.
unsigned long int tcp::CumulativeACK::probeNumber [private] |
Definition at line 279 of file CumulativeACK.hpp.
bool tcp::CumulativeACK::probingEnabled [private] |
Definition at line 283 of file CumulativeACK.hpp.
const wns::pyconfig::View& tcp::CumulativeACK::pyco [private] |
Definition at line 213 of file CumulativeACK.hpp.
Definition at line 255 of file CumulativeACK.hpp.
Definition at line 250 of file CumulativeACK.hpp.
Definition at line 286 of file CumulativeACK.hpp.
Definition at line 260 of file CumulativeACK.hpp.
unsigned long int tcp::CumulativeACK::sequenceNR [private] |
Definition at line 235 of file CumulativeACK.hpp.
Definition at line 277 of file CumulativeACK.hpp.
Definition at line 265 of file CumulativeACK.hpp.
Definition at line 285 of file CumulativeACK.hpp.
1.5.5