equal
deleted
inserted
replaced
1649 } |
1649 } |
1650 |
1650 |
1651 void TcpSocketImpl::PersistTimeout () |
1651 void TcpSocketImpl::PersistTimeout () |
1652 { |
1652 { |
1653 NS_LOG_LOGIC ("PersistTimeout expired at "<<Simulator::Now ().GetSeconds ()); |
1653 NS_LOG_LOGIC ("PersistTimeout expired at "<<Simulator::Now ().GetSeconds ()); |
1654 m_persistTime = 2 * m_persistTime.To (); |
1654 m_persistTime = Time (2 * m_persistTime); |
1655 m_persistTime = std::min(Seconds(60),m_persistTime); //maxes out at 60 |
1655 m_persistTime = std::min(Seconds(60),m_persistTime); //maxes out at 60 |
1656 //the persist timeout sends exactly one byte probes |
1656 //the persist timeout sends exactly one byte probes |
1657 //this is explicit in stevens, and kind of in rfc793 p42, rfc1122 sec4.2.2.17 |
1657 //this is explicit in stevens, and kind of in rfc793 p42, rfc1122 sec4.2.2.17 |
1658 Ptr<Packet> p = |
1658 Ptr<Packet> p = |
1659 m_pendingData->CopyFromSeq(1,m_firstPendingSequence,m_nextTxSequence); |
1659 m_pendingData->CopyFromSeq(1,m_firstPendingSequence,m_nextTxSequence); |