68 cDisplayString& disp = getDisplayString();
69 disp.setTagArg(
"p", 0, 240);
70 disp.setTagArg(
"p", 1, 50);
77 if(getRINAModule<cModule*>(
this, 2, {
MOD_EFCP})->hasPar(
"rtt")){
78 rtt = getRINAModule<cModule*>(
this, 2, {
MOD_EFCP})->par(
"rtt");
83 if(getRINAModule<cModule*>(
this, 2, {
MOD_EFCP})->hasPar(
"mpl")){
84 mpl = getRINAModule<cModule*>(
this, 2, {
MOD_EFCP})->par(
"mpl");
129 std::vector<DataTransferPDU*>::iterator itP;
130 for (itP = pduQ->begin(); itP != pduQ->end();)
134 itP = pduQ->erase(itP);
200 this->maxSeqNumRcvd = (this->maxSeqNumRcvd >
maxSeqNumRcvd) ? this->maxSeqNumRcvd : maxSeqNumRcvd;
384 if ((*it)->getSeqNum() == pdu->
getSeqNum())
388 throw cRuntimeError(
"addPDUTo reassemblyQ with same seqNum. SHOULD not ever happen");
390 else if ((*it)->getSeqNum() > pdu->
getSeqNum())
461 for (
auto it = pduQ->begin(); it != pduQ->end(); ++it)
void setRcvLeftWinEdge(unsigned int rcvLeftWinEdge)
void pushBackToReassemblyPDUQ(DataTransferPDU *pdu)
unsigned int getLastSeqNumSent() const
unsigned int getMaxFlowSduSize() const
PDUQ_t * getPostablePDUQ()
virtual void handleMessage(cMessage *msg)
void setNextSeqNumToSend(unsigned int nextSeqNumToSend)
unsigned int nextSeqNumToSend
void setMaxFlowPduSize(unsigned int maxFlowPduSize)
unsigned int maxSeqNumRcvd
unsigned int lastSeqNumSent
void pushBackToGeneratedPDUQ(DataTransferPDU *pdu)
unsigned int getMaxSeqNumRcvd() const
unsigned int getNextSeqNumToSend()
void setEcnSet(bool ecnSet)
unsigned int getSeqNumRollOverThresh() const
void setPartDeliv(bool partDeliv)
void clearGeneratedPDUQ()
unsigned int maxFlowSDUSize
bool isBlockingPort() const
bool isSetDrfFlag() const
void incNextSeqNumToSend()
PDUQ_t * getGeneratedPDUQ()
void setMaxFlowSduSize(unsigned int maxFlowSduSize)
bool isIncompDeliv() const
bool isDtcpPresent() const
void clearReassemblyPDUQ()
void setQoSCube(const QoSCube *&qoSCube)
void setIncompDeliv(bool incompDeliv)
void addPDUToReassemblyQ(DataTransferPDU *pdu)
void setSeqNumRollOverThresh(unsigned int seqNumRollOverThresh)
unsigned int maxFlowPDUSize
unsigned int rcvLeftWinEdge
unsigned int getRcvLeftWinEdge() const
const QoSCube * getQoSCube() const
void updateRcvLWE(unsigned int seqNum)
virtual unsigned int getSeqNum() const
std::vector< DataTransferPDU * > PDUQ_t
void setTmpAtimer(ATimer *tmpAtimer)
void setSetDrfFlag(bool setDrfFlag)
void pushBackToPostablePDUQ(DataTransferPDU *pdu)
const PDU * getCurrentPdu() const
std::vector< DataTransferPDU * > * getReassemblyPDUQ()
Class representing QoSCube with all its properties that is primarily used by FA, RMT and RA Specifica...
void setLastSduDelivered(unsigned int lastSduDelivered)
unsigned int getMaxFlowPduSize() const
unsigned int getDropDup() const
unsigned int seqNumRollOverThresh
ATimer * getTmpAtimer() const
void setLastSeqNumSent(unsigned int lastSeqNumSent)
bool isWindowFcOn() const
unsigned int lastSDUDelivered
void incRcvLeftWindowEdge()
void clearPDUQ(std::vector< DataTransferPDU * > *pduQ)
unsigned int getLastSduDelivered() const
void setDtcpPresent(bool dtcpPresent)
void setCurrentPdu(PDU *currentPdu)
void setBlockingPort(bool blockingPort)
virtual void initialize(int step)
int getMaxAllowGap() const
Gets Maximum Allowable Gap in SDUs parameter.
void setMaxSeqNumRcvd(unsigned int maxSeqNumRcvd)
unsigned int getNextSeqNumToSendWithoutIncrement()