RINASim
October 2016
Documentation of framework for OMNeT++
|
#include <DTCP.h>
Protected Member Functions | |
virtual void | handleMessage (cMessage *msg) |
virtual void | initialize (int step) |
int | numInitStages () const |
void | initSignalsAndListeners () |
Protected Attributes | |
simsignal_t | sigStatDTCPRxCount |
Private Member Functions | |
void | schedule (DTCPTimers *timer, double time=0.0) |
void | sendAckPDU () |
void | flushAllQueuesAndPrepareToDie () |
void | handleSendingRateTimer (DTCPSendingRateTimer *timer) |
void | handleRendezvousTimer (DTCPRendezvousTimer *rendezTimer) |
void | startReliableCPDUTimer () |
void | stopReliableCPDUTimer () |
Friends | |
class | DTP |
void DTCP::ackPDU | ( | unsigned int | startSeqNum, |
unsigned int | endSeqNum = 0 |
||
) |
Definition at line 341 of file DTCP.cc.
Referenced by SenderAckPolicyBase::defaultAction(), and DTP::handleControlPDUFromRMT().
void DTCP::clearRxQ | ( | ) |
Definition at line 401 of file DTCP.cc.
Referenced by DTP::clearRxQ(), and flushAllQueuesAndPrepareToDie().
cModule * DTCP::createPolicyModule | ( | const char * | prefix, |
const char * | name | ||
) |
void DTCP::deleteRxTimer | ( | unsigned int | seqNum | ) |
Definition at line 324 of file DTCP.cc.
Referenced by SenderAckPolicyTCP::ackPDU(), ackPDU(), and SenderAckPolicyLG::run().
|
private |
unsigned int DTCP::getDataReXmitMax | ( | ) | const |
Definition at line 406 of file DTCP.cc.
Referenced by DTP::schedule().
DTCPState * DTCP::getDTCPState | ( | ) | const |
Definition at line 54 of file DTCP.cc.
Referenced by DTP::fillFlowControlPDU(), DTP::handleControlPDUFromRMT(), DTP::handleInterrupterTimer(), DTP::rendezvousCondition(), DTP::runInitialSeqNumPolicy(), DTP::runRcvrInactivityTimerPolicy(), DTP::runRTTEstimatorPolicy(), DTP::runSenderInactivityTimerPolicy(), and DTP::trySendGenPDUs().
unsigned int DTCP::getDupAcks | ( | ) | const |
Definition at line 685 of file DTCP.cc.
Referenced by redrawGUI().
unsigned int DTCP::getLastCtrlSeqNumRcv | ( | ) |
Definition at line 542 of file DTCP.cc.
Referenced by DTP::commonRcvControl(), and DTP::fillControlAckPDU().
unsigned int DTCP::getNextSndCtrlSeqNum | ( | ) |
Definition at line 537 of file DTCP.cc.
Referenced by DTP::fillControlAckPDU(), DTP::sendAckFlowPDU(), DTP::sendAckOnlyPDU(), and DTP::sendFCOnlyPDU().
unsigned int DTCP::getPdusRcvdInTimeUnit | ( | ) | const |
Definition at line 603 of file DTCP.cc.
Referenced by DTP::handleDataTransferPDUFromRMT().
unsigned int DTCP::getPdusSentInTimeUnit | ( | ) | const |
Definition at line 598 of file DTCP.cc.
Referenced by DTP::trySendGenPDUs().
unsigned int DTCP::getRcvRightWinEdge | ( | ) |
Definition at line 573 of file DTCP.cc.
Referenced by DTP::fillControlAckPDU(), DTP::fillFlowControlPDU(), DTP::handleDataTransferPDUFromRMT(), and redrawGUI().
unsigned int DTCP::getRcvrRate | ( | ) | const |
Definition at line 69 of file DTCP.cc.
Referenced by DTP::fillControlAckPDU(), DTP::fillFlowControlPDU(), and DTP::handleDataTransferPDUFromRMT().
unsigned int DTCP::getSendingRate | ( | ) | const |
Definition at line 59 of file DTCP.cc.
Referenced by DTP::fillFlowControlPDU(), and DTP::trySendGenPDUs().
unsigned long DTCP::getSendingTimeUnit | ( | ) |
Definition at line 583 of file DTCP.cc.
Referenced by DTP::fillFlowControlPDU().
unsigned int DTCP::getSndLeftWinEdge | ( | ) | const |
Definition at line 87 of file DTCP.cc.
Referenced by DTP::fillControlAckPDU(), DTP::fillFlowControlPDU(), and redrawGUI().
unsigned int DTCP::getSndRtWinEdge | ( | ) |
Definition at line 558 of file DTCP.cc.
Referenced by DTP::fillControlAckPDU(), DTP::fillFlowControlPDU(), redrawGUI(), and DTP::trySendGenPDUs().
void DTCP::handleDTCPRxExpiryTimer | ( | DTCPRxExpiryTimer * | timer | ) |
timer |
Definition at line 373 of file DTCP.cc.
Referenced by handleMessage(), and nackPDU().
|
private |
Definition at line 461 of file DTCP.cc.
Referenced by handleMessage().
|
private |
Definition at line 529 of file DTCP.cc.
Referenced by handleMessage().
void DTCP::incDupAcks | ( | ) |
Definition at line 680 of file DTCP.cc.
Referenced by DTP::commonRcvControl().
void DTCP::incDupFC | ( | ) |
Definition at line 691 of file DTCP.cc.
Referenced by DTP::commonRcvControl().
|
protected |
Definition at line 102 of file DTCP.cc.
Referenced by initialize().
bool DTCP::isClosedWinQClosed | ( | ) |
Definition at line 701 of file DTCP.cc.
Referenced by DTP::handleControlPDUFromRMT().
bool DTCP::isSendingRateFullfilled | ( | ) | const |
Definition at line 588 of file DTCP.cc.
Referenced by DTP::trySendGenPDUs().
void DTCP::nackPDU | ( | unsigned int | startSeqNum, |
unsigned int | endSeqNum = 0 |
||
) |
Definition at line 292 of file DTCP.cc.
Referenced by DTP::handleControlPDUFromRMT().
void DTCP::pushBackToRxQ | ( | DataTransferPDU * | pdu | ) |
Definition at line 390 of file DTCP.cc.
Referenced by DTP::sendEmptyDTPDU(), and DTP::trySendGenPDUs().
void DTCP::redrawGUI | ( | ) |
Definition at line 618 of file DTCP.cc.
Referenced by DTP::redrawGUI().
bool DTCP::runECNPolicy | ( | DTPState * | dtpState | ) |
Definition at line 151 of file DTCP.cc.
Referenced by DTP::handleDataTransferPDUFromRMT().
bool DTCP::runECNSlowDownPolicy | ( | DTPState * | dtpState | ) |
Definition at line 282 of file DTCP.cc.
Referenced by DTP::runCongestionNotificationPolicy().
bool DTCP::runLostControlPDUPolicy | ( | DTPState * | dtpState | ) |
Definition at line 200 of file DTCP.cc.
Referenced by DTP::commonRcvControl().
bool DTCP::runNoOverridePeakPolicy | ( | DTPState * | dtpState | ) |
Definition at line 240 of file DTCP.cc.
Referenced by DTP::trySendGenPDUs().
bool DTCP::runNoRateSlowDownPolicy | ( | DTPState * | dtpState | ) |
Definition at line 257 of file DTCP.cc.
Referenced by DTP::trySendGenPDUs().
bool DTCP::runRateReductionPolicy | ( | DTPState * | dtpState | ) |
Definition at line 273 of file DTCP.cc.
Referenced by DTP::rcvrBufferStateChange().
bool DTCP::runRcvFCOverrunPolicy | ( | DTPState * | dtpState | ) |
Definition at line 233 of file DTCP.cc.
Referenced by DTP::handleDataTransferPDUFromRMT().
bool DTCP::runRcvrAckPolicy | ( | DTPState * | dtpState | ) |
Definition at line 175 of file DTCP.cc.
Referenced by DTP::svUpdate().
bool DTCP::runRcvrControlAckPolicy | ( | DTPState * | dtpState | ) |
Definition at line 208 of file DTCP.cc.
Referenced by DTP::handleControlPDUFromRMT().
bool DTCP::runRcvrFCPolicy | ( | DTPState * | dtpState | ) |
Definition at line 168 of file DTCP.cc.
Referenced by DTP::svUpdate().
bool DTCP::runReceivingFCPolicy | ( | DTPState * | dtpState | ) |
Definition at line 182 of file DTCP.cc.
Referenced by DTP::svUpdate().
bool DTCP::runReconcileFCPolicy | ( | DTPState * | dtpState | ) |
Definition at line 265 of file DTCP.cc.
Referenced by DTP::trySendGenPDUs().
void DTCP::runRxTimerExpiryPolicy | ( | DTCPRxExpiryTimer * | timer | ) |
Definition at line 381 of file DTCP.cc.
Referenced by handleDTCPRxExpiryTimer().
bool DTCP::runSenderAckPolicy | ( | DTPState * | dtpState | ) |
Definition at line 216 of file DTCP.cc.
Referenced by DTP::handleControlPDUFromRMT().
Definition at line 192 of file DTCP.cc.
Referenced by DTP::handleDTPATimer().
bool DTCP::runSndFCOverrunPolicy | ( | DTPState * | dtpState | ) |
Definition at line 225 of file DTCP.cc.
Referenced by DTP::trySendGenPDUs().
Definition at line 249 of file DTCP.cc.
Referenced by DTP::trySendGenPDUs().
|
private |
Definition at line 410 of file DTCP.cc.
Referenced by handleSendingRateTimer(), pushBackToRxQ(), and scheduleRxTimerExpiry().
|
private |
void DTCP::setDtcpState | ( | DTCPState * | dtcpState | ) |
Definition at line 791 of file DTCP.cc.
Referenced by EFCP::createDTCP().
void DTCP::setDTP | ( | DTP * | dtp | ) |
Definition at line 146 of file DTCP.cc.
Referenced by DTP::setDTCP().
void DTCP::setECNPolicy | ( | ECNPolicyBase * | ecnPolicy | ) |
Definition at line 781 of file DTCP.cc.
Referenced by EFCP::createDTCP().
void DTCP::setECNSlowDownPolicy | ( | ECNSlowDownPolicyBase * | ecnSlowDownPolicy | ) |
Definition at line 786 of file DTCP.cc.
Referenced by EFCP::createDTCP().
void DTCP::setLastCtrlSeqnumRcvd | ( | unsigned int | ctrlSeqNum | ) |
Definition at line 547 of file DTCP.cc.
Referenced by DTP::commonRcvControl().
void DTCP::setLostControlPduPolicy | ( | LostControlPDUPolicyBase * | lostControlPduPolicy | ) |
Definition at line 716 of file DTCP.cc.
Referenced by EFCP::createDTCP().
void DTCP::setNoOverridePeakPolicy | ( | NoOverridePeakPolicyBase * | noOverridePeakPolicy | ) |
Definition at line 721 of file DTCP.cc.
Referenced by EFCP::createDTCP().
void DTCP::setNoRateSlowDownPolicy | ( | NoRateSlowDownPolicyBase * | noRateSlowDownPolicy | ) |
Definition at line 726 of file DTCP.cc.
Referenced by EFCP::createDTCP().
void DTCP::setPdusSentInTimeUnit | ( | unsigned int | pdusSentInTimeUnit | ) |
void DTCP::setRateReductionPolicy | ( | RateReductionPolicyBase * | rateReductionPolicy | ) |
Definition at line 731 of file DTCP.cc.
Referenced by EFCP::createDTCP().
void DTCP::setRcvFcOverrunPolicy | ( | RcvFCOverrunPolicyBase * | rcvFcOverrunPolicy | ) |
Definition at line 97 of file DTCP.cc.
Referenced by EFCP::createDTCP().
void DTCP::setRcvrAckPolicy | ( | RcvrAckPolicyBase * | rcvrAckPolicy | ) |
Definition at line 736 of file DTCP.cc.
Referenced by EFCP::createDTCP().
void DTCP::setRcvrControlAckPolicy | ( | RcvrControlAckPolicyBase * | rcvrControlAckPolicy | ) |
Definition at line 741 of file DTCP.cc.
Referenced by EFCP::createDTCP().
void DTCP::setRcvrFcPolicy | ( | RcvrFCPolicyBase * | rcvrFcPolicy | ) |
Definition at line 746 of file DTCP.cc.
Referenced by EFCP::createDTCP().
void DTCP::setReceivingFcPolicy | ( | ReceivingFCPolicyBase * | receivingFcPolicy | ) |
Definition at line 751 of file DTCP.cc.
Referenced by EFCP::createDTCP().
void DTCP::setReconcileFcPolicy | ( | ReconcileFCPolicyBase * | reconcileFcPolicy | ) |
Definition at line 756 of file DTCP.cc.
Referenced by EFCP::createDTCP().
void DTCP::setRxTimerExpiryPolicy | ( | RxTimerExpiryPolicyBase * | rxTimerExpiryPolicy | ) |
Definition at line 761 of file DTCP.cc.
Referenced by EFCP::createDTCP().
void DTCP::setSenderAckPolicy | ( | SenderAckPolicyBase * | senderAckPolicy | ) |
Definition at line 766 of file DTCP.cc.
Referenced by EFCP::createDTCP().
void DTCP::setSenderLeftWinEdge | ( | unsigned int | senderLeftWinEdge | ) |
void DTCP::setSendingAckPolicy | ( | SendingAckPolicyBase * | sendingAckPolicy | ) |
Definition at line 771 of file DTCP.cc.
Referenced by EFCP::createDTCP().
void DTCP::setSendingRate | ( | unsigned int | sendingRate | ) |
Definition at line 64 of file DTCP.cc.
Referenced by DTP::handleControlPDUFromRMT().
void DTCP::setSndFcOverrunPolicy | ( | SndFCOverrunPolicyBase * | sndFcOverrunPolicy | ) |
Definition at line 711 of file DTCP.cc.
Referenced by EFCP::createDTCP().
void DTCP::setSndRtWinEdge | ( | unsigned int | sndRtWinEdge | ) |
Definition at line 552 of file DTCP.cc.
Referenced by DTP::handleControlPDUFromRMT().
void DTCP::setTxControlPolicy | ( | TxControlPolicyBase * | txControlPolicy | ) |
Definition at line 776 of file DTCP.cc.
Referenced by EFCP::createDTCP().
|
private |
Definition at line 472 of file DTCP.cc.
Referenced by handleMessage(), and DTP::sendReliableControlPDU().
void DTCP::startRendezvousTimer | ( | ) |
Definition at line 107 of file DTCP.cc.
Referenced by DTP::rendezvousCondition().
|
private |
Definition at line 467 of file DTCP.cc.
Referenced by DTP::svUpdate().
void DTCP::updateRcvRtWinEdge | ( | DTPState * | dtpState | ) |
Definition at line 456 of file DTCP.cc.
Referenced by DTP::changeInBuffers().
void DTCP::updateSenderLWE | ( | unsigned int | seqNum | ) |
Definition at line 706 of file DTCP.cc.
Referenced by DTP::handleControlPDUFromRMT().
|
private |
Definition at line 68 of file DTCP.h.
Referenced by ackPDU(), DTP::changeInBuffers(), clearRxQ(), deleteRxTimer(), DTP::fillRendezvousPDU(), getDataReXmitMax(), getDTCPState(), getDupAcks(), getDupFC(), getLastCtrlSeqNumRcv(), getNextSndCtrlSeqNum(), getPdusRcvdInTimeUnit(), getPdusSentInTimeUnit(), getRcvCredit(), getRcvRightWinEdge(), getRcvrRate(), getSendingRate(), getSendingTimeUnit(), getSndLeftWinEdge(), getSndRtWinEdge(), DTP::handleControlPDUFromRMT(), DTP::handleDataTransferPDUFromRMT(), DTP::handleMessage(), handleSendingRateTimer(), incDupAcks(), incDupFC(), incPdusSentInTimeUnit(), incRcvRtWinEdge(), isClosedWinQClosed(), isSendingRateFullfilled(), nackPDU(), pushBackToRxQ(), DTP::rcvrBufferStateChange(), redrawGUI(), runECNPolicy(), runECNSlowDownPolicy(), runLostControlPDUPolicy(), runNoOverridePeakPolicy(), runNoRateSlowDownPolicy(), runRateReductionPolicy(), runRcvFCOverrunPolicy(), runRcvrAckPolicy(), runRcvrControlAckPolicy(), runRcvrFCPolicy(), runReceivingFCPolicy(), runReconcileFCPolicy(), runRxTimerExpiryPolicy(), runSenderAckPolicy(), runSendingAckPolicy(), runSndFCOverrunPolicy(), runTxControlPolicy(), schedule(), DTP::schedule(), scheduleRxTimerExpiry(), DTP::sendAckFlowPDU(), DTP::sendEmptyDTPDU(), DTP::sendToRMT(), setDtcpState(), setLastCtrlSeqnumRcvd(), setPdusSentInTimeUnit(), setRcvRtWinEdge(), setSenderLeftWinEdge(), setSendingRate(), setSendingRateFullfilled(), setSndRtWinEdge(), startReliableCPDUTimer(), startRendezvousTimer(), stopReliableCPDUTimer(), DTP::svUpdate(), DTP::trySendGenPDUs(), updateRcvRtWinEdge(), and updateSenderLWE().
|
private |
Definition at line 67 of file DTCP.h.
Referenced by handleMessage(), handleRendezvousTimer(), runRxTimerExpiryPolicy(), schedule(), setDTP(), startReliableCPDUTimer(), and startRendezvousTimer().
|
private |
Definition at line 72 of file DTCP.h.
Referenced by DTCP(), runECNPolicy(), and setECNPolicy().
|
private |
Definition at line 73 of file DTCP.h.
Referenced by DTCP(), runECNSlowDownPolicy(), and setECNSlowDownPolicy().
|
private |
Definition at line 78 of file DTCP.h.
Referenced by DTCP(), runLostControlPDUPolicy(), and setLostControlPduPolicy().
|
private |
Definition at line 83 of file DTCP.h.
Referenced by DTCP(), runNoOverridePeakPolicy(), and setNoOverridePeakPolicy().
|
private |
Definition at line 85 of file DTCP.h.
Referenced by DTCP(), runNoRateSlowDownPolicy(), and setNoRateSlowDownPolicy().
|
private |
Definition at line 87 of file DTCP.h.
Referenced by DTCP(), runRateReductionPolicy(), and setRateReductionPolicy().
|
private |
Definition at line 82 of file DTCP.h.
Referenced by runRcvFCOverrunPolicy(), and setRcvFcOverrunPolicy().
|
private |
Definition at line 75 of file DTCP.h.
Referenced by DTCP(), runRcvrAckPolicy(), and setRcvrAckPolicy().
|
private |
Definition at line 79 of file DTCP.h.
Referenced by DTCP(), runRcvrControlAckPolicy(), and setRcvrControlAckPolicy().
|
private |
Definition at line 74 of file DTCP.h.
Referenced by DTCP(), runRcvrFCPolicy(), and setRcvrFcPolicy().
|
private |
Definition at line 76 of file DTCP.h.
Referenced by DTCP(), runReceivingFCPolicy(), and setReceivingFcPolicy().
|
private |
Definition at line 86 of file DTCP.h.
Referenced by DTCP(), runReconcileFCPolicy(), and setReconcileFcPolicy().
|
private |
Definition at line 88 of file DTCP.h.
Referenced by DTCP(), runRxTimerExpiryPolicy(), and setRxTimerExpiryPolicy().
|
private |
Definition at line 80 of file DTCP.h.
Referenced by DTCP(), runSenderAckPolicy(), and setSenderAckPolicy().
|
private |
Definition at line 77 of file DTCP.h.
Referenced by DTCP(), runSendingAckPolicy(), and setSendingAckPolicy().
|
private |
|
protected |
Definition at line 230 of file DTCP.h.
Referenced by initSignalsAndListeners(), and runRxTimerExpiryPolicy().
|
private |
Definition at line 81 of file DTCP.h.
Referenced by DTCP(), runSndFCOverrunPolicy(), and setSndFcOverrunPolicy().
|
private |
Definition at line 84 of file DTCP.h.
Referenced by DTCP(), runTxControlPolicy(), and setTxControlPolicy().