61 double time = simTime().dbl();
80 for (uint32_t i = 0; i < n; i++) {
113 std::vector<DataTransferPDU*>::iterator it;
117 for(
int i = 1; i <= 2; i++) {
123 for (it = pduQ->begin(); it != pduQ->end() && (*it)->getSeqNum() <= dtcpState->
getSndRightWinEdge() && sentNo <= sendCredit; sentNo++) {
127 it = pduQ->erase(it);
SenderAckPolicyTCP * ackPolicy
unsigned int getRxSent() const
unsigned int getSndRightWinEdge() const
PDUQ_t * getGeneratedPDUQ()
TxControlPolicyTCPTahoe()
unsigned int getClosedWinQueLen() const
virtual bool run(DTPState *dtpState, DTCPState *dtcpState)
simsignal_t sigStatTCPTahoeCWND
std::vector< DataTransferPDU * > PDUQ_t
float snd_cwnd
congestion window
virtual ~TxControlPolicyTCPTahoe()
void pushBackToPostablePDUQ(DataTransferPDU *pdu)
#define STATE_SLOW_START
slow start
float ssthresh
slow start threshold
#define MAX_SSTHRESH
slow start threshold
#define STATE_CNG_AVOID
congestion avoidance
std::vector< DataTransferPDU * > * getClosedWindowQ()
void setClosedWindow(bool closedWindow)
virtual void initialize()
#define STATE_STARTING_SLOW_START
starting slow start
Register_Class(TxControlPolicyTCPTahoe)
unsigned int getRcvCredit() const