|
128 |
m_cWnd -= seq - m_txBuffer.HeadSequence (); |
128 |
m_cWnd -= seq - m_txBuffer.HeadSequence (); |
129 |
m_cWnd += m_segmentSize; // increase cwnd |
129 |
m_cWnd += m_segmentSize; // increase cwnd |
130 |
NS_LOG_INFO ("Partial ACK in fast recovery: cwnd set to " << m_cWnd); |
130 |
NS_LOG_INFO ("Partial ACK in fast recovery: cwnd set to " << m_cWnd); |
|
|
131 |
/* |
132 |
* Patch by Morteza Kheirkhah (m.kheirkhah@sussex.ac.uk), University of Sussex, United Kingdom. |
133 |
* Personal webpage: http://www.uclmail.net/users/m.kheirkhah/ |
134 |
*/ |
135 |
m_txBuffer.DiscardUpTo(seq); // Discard data up to but not including this sequence number. |
136 |
DoRetransmit (); // Assume the next seq is lost. Retransmit lost packet |
131 |
TcpSocketBase::NewAck (seq); // update m_nextTxSequence and send new data if allowed by window |
137 |
TcpSocketBase::NewAck (seq); // update m_nextTxSequence and send new data if allowed by window |
132 |
DoRetransmit (); // Assume the next seq is lost. Retransmit lost packet |
|
|
133 |
return; |
138 |
return; |
134 |
} |
139 |
} |
135 |
else if (m_inFastRec && seq >= m_recover) |
140 |
else if (m_inFastRec && seq >= m_recover) |