|
Lines 1415-1420
TcpSocketBase::ReceivedAck (Ptr<Packet> packet, const TcpHeader& tcpHeader)
|
Link Here
|
|---|
|
| 1415 |
m_dupAckCount << " dup ACKs"); |
1415 |
m_dupAckCount << " dup ACKs"); |
| 1416 |
m_tcb->m_congState = TcpSocketState::CA_DISORDER; |
1416 |
m_tcb->m_congState = TcpSocketState::CA_DISORDER; |
| 1417 |
|
1417 |
|
|
|
1418 |
if (m_limitedTx && m_txBuffer->SizeFromSequence (m_nextTxSequence) > 0) |
| 1419 |
{ |
| 1420 |
// RFC3042 Limited transmit: Send a new packet for each duplicated ACK before fast retransmit |
| 1421 |
NS_LOG_INFO ("Limited transmit"); |
| 1422 |
uint32_t sz = SendDataPacket (m_nextTxSequence, m_tcb->m_segmentSize, true); |
| 1423 |
m_nextTxSequence += sz; |
| 1424 |
} |
| 1425 |
|
| 1418 |
NS_LOG_DEBUG ("OPEN -> DISORDER"); |
1426 |
NS_LOG_DEBUG ("OPEN -> DISORDER"); |
| 1419 |
} |
1427 |
} |
| 1420 |
else if (m_tcb->m_congState == TcpSocketState::CA_DISORDER) |
1428 |
else if (m_tcb->m_congState == TcpSocketState::CA_DISORDER) |
|
Lines 1436-1442
TcpSocketBase::ReceivedAck (Ptr<Packet> packet, const TcpHeader& tcpHeader)
|
Link Here
|
|---|
|
| 1436 |
m_tcb->m_ssThresh << " at fast recovery seqnum " << m_recover); |
1444 |
m_tcb->m_ssThresh << " at fast recovery seqnum " << m_recover); |
| 1437 |
DoRetransmit (); |
1445 |
DoRetransmit (); |
| 1438 |
} |
1446 |
} |
| 1439 |
else if (m_limitedTx) |
1447 |
else if (m_limitedTx && m_txBuffer->SizeFromSequence (m_nextTxSequence) > 0) |
| 1440 |
{ |
1448 |
{ |
| 1441 |
// RFC3042 Limited transmit: Send a new packet for each duplicated ACK before fast retransmit |
1449 |
// RFC3042 Limited transmit: Send a new packet for each duplicated ACK before fast retransmit |
| 1442 |
NS_LOG_INFO ("Limited transmit"); |
1450 |
NS_LOG_INFO ("Limited transmit"); |