63 class DTCP:
public cSimpleModule {
143 void nackPDU(
unsigned int startSeqNum,
unsigned int endSeqNum = 0);
144 void ackPDU(
unsigned int startSeqNum,
unsigned int endSeqNum = 0);
bool runSenderAckPolicy(DTPState *dtpState)
NoOverridePeakPolicyBase * noOverridePeakPolicy
void setSndFcOverrunPolicy(SndFCOverrunPolicyBase *sndFcOverrunPolicy)
SendingAckPolicyBase * sendingAckPolicy
RcvFCOverrunPolicyBase * rcvFcOverrunPolicy
SndFCOverrunPolicyBase * sndFcOverrunPolicy
void ackPDU(unsigned int startSeqNum, unsigned int endSeqNum=0)
void updateSenderLWE(unsigned int seqNum)
unsigned int getDupFC() const
void setRcvrControlAckPolicy(RcvrControlAckPolicyBase *rcvrControlAckPolicy)
void setSendingAckPolicy(SendingAckPolicyBase *sendingAckPolicy)
bool isClosedWinQClosed()
cModule * createPolicyModule(const char *prefix, const char *name)
void setRcvRtWinEdge(unsigned int rcvRtWinEdge)
RcvrControlAckPolicyBase * rcvrControlAckPolicy
RateReductionPolicyBase * rateReductionPolicy
void startReliableCPDUTimer()
void handleRendezvousTimer(DTCPRendezvousTimer *rendezTimer)
unsigned int getSendingRate() const
DTCPSendingRateTimer sendingRateTimer
unsigned int getPdusSentInTimeUnit() const
bool runRateReductionPolicy(DTPState *dtpState)
bool runRcvrAckPolicy(DTPState *dtpState)
void setSendingRate(unsigned int sendingRate)
bool runTxControlPolicy(DTPState *dtpState, PDUQ_t *pduQ)
bool runECNPolicy(DTPState *dtpState)
bool isSendingRateFullfilled() const
bool runRcvrControlAckPolicy(DTPState *dtpState)
void setSenderLeftWinEdge(unsigned int senderLeftWinEdge)
void updateRcvRtWinEdge(DTPState *dtpState)
void setNoOverridePeakPolicy(NoOverridePeakPolicyBase *noOverridePeakPolicy)
unsigned long getSendingTimeUnit()
void setRcvrAckPolicy(RcvrAckPolicyBase *rcvrAckPolicy)
void setPdusSentInTimeUnit(unsigned int pdusSentInTimeUnit)
ECNSlowDownPolicyBase * ecnSlowDownPolicy
unsigned int getRcvCredit()
unsigned int getSndRtWinEdge()
void setECNSlowDownPolicy(ECNSlowDownPolicyBase *ecnSlowDownPolicy)
void setRxTimerExpiryPolicy(RxTimerExpiryPolicyBase *rxTimerExpiryPolicy)
void setRateReductionPolicy(RateReductionPolicyBase *rateReductionPolicy)
bool runRcvrFCPolicy(DTPState *dtpState)
bool runReceivingFCPolicy(DTPState *dtpState)
RcvrAckPolicyBase * rcvrAckPolicy
void setSendingRateFullfilled(bool rateFullfilled)
std::vector< DataTransferPDU * > PDUQ_t
void stopReliableCPDUTimer()
void setRcvrFcPolicy(RcvrFCPolicyBase *rcvrFcPolicy)
unsigned int getPdusRcvdInTimeUnit() const
void setECNPolicy(ECNPolicyBase *ecnPolicy)
unsigned int getSndLeftWinEdge() const
bool runLostControlPDUPolicy(DTPState *dtpState)
bool runSendingAckPolicy(DTPState *dtpState, ATimer *timer)
unsigned int getRcvrRate() const
void setTxControlPolicy(TxControlPolicyBase *txControlPolicy)
unsigned int getRcvRightWinEdge()
void scheduleRxTimerExpiry()
void setReceivingFcPolicy(ReceivingFCPolicyBase *receivingFcPolicy)
bool runReconcileFCPolicy(DTPState *dtpState)
RcvrFCPolicyBase * rcvrFCPolicy
unsigned int getDataReXmitMax() const
void incPdusSentInTimeUnit()
simsignal_t sigStatDTCPRxCount
bool runNoRateSlowDownPolicy(DTPState *dtpState)
DTCPState * getDTCPState() const
void deleteRxTimer(unsigned int seqNum)
void setSndRtWinEdge(unsigned int sndRtWinEdge)
RxTimerExpiryPolicyBase * rxTimerExpiryPolicy
void setReconcileFcPolicy(ReconcileFCPolicyBase *reconcileFcPolicy)
void nackPDU(unsigned int startSeqNum, unsigned int endSeqNum=0)
void startRendezvousTimer()
unsigned int getNextSndCtrlSeqNum()
void setSenderAckPolicy(SenderAckPolicyBase *senderAckPolicy)
unsigned int getDupAcks() const
ReconcileFCPolicyBase * reconcileFCPolicy
ReceivingFCPolicyBase * receivingFCPolicy
void runRxTimerExpiryPolicy(DTCPRxExpiryTimer *timer)
SenderAckPolicyBase * senderAckPolicy
bool runNoOverridePeakPolicy(DTPState *dtpState)
void setRcvFcOverrunPolicy(RcvFCOverrunPolicyBase *rcvFcOverrunPolicy)
void setLastCtrlSeqnumRcvd(unsigned int ctrlSeqNum)
void pushBackToRxQ(DataTransferPDU *pdu)
void setNoRateSlowDownPolicy(NoRateSlowDownPolicyBase *noRateSlowDownPolicy)
void flushAllQueuesAndPrepareToDie()
TxControlPolicyBase * txControlPolicy
ECNPolicyBase * ecnPolicy
unsigned int getLastCtrlSeqNumRcv()
void schedule(DTCPTimers *timer, double time=0.0)
void setDtcpState(DTCPState *dtcpState)
NoRateSlowDownPolicyBase * noRateSlowDownPolicy
bool runSndFCOverrunPolicy(DTPState *dtpState)
LostControlPDUPolicyBase * lostControlPDUPolicy
bool runRcvFCOverrunPolicy(DTPState *dtpState)
virtual void handleMessage(cMessage *msg)
void setLostControlPduPolicy(LostControlPDUPolicyBase *lostControlPduPolicy)
int numInitStages() const
bool runECNSlowDownPolicy(DTPState *dtpState)
void handleSendingRateTimer(DTCPSendingRateTimer *timer)
void handleDTCPRxExpiryTimer(DTCPRxExpiryTimer *timer)
void initSignalsAndListeners()
virtual void initialize(int step)