|
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 |
m_txBuffer.DiscardUpTo(seq); // Bug 1850: retransmit before NewAck() |
132 |
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 |
133 |
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; |
134 |
return; |
134 |
} |
135 |
} |
135 |
else if (m_inFastRec && seq >= m_recover) |
136 |
else if (m_inFastRec && seq >= m_recover) |