View | Details | Raw Unified | Return to bug 2041
Collapse All | Expand All

(-)i/src/internet/model/tcp-socket-base.cc (-5 / +8 lines)
 Lines 2346-2358   TcpSocketBase::SendDataPacket (SequenceNumber32 seq, uint32_t maxSize, bool with Link Here 
2346
  header.SetWindowSize (AdvertisedWindowSize ());
2346
  header.SetWindowSize (AdvertisedWindowSize ());
2347
  AddOptions (header);
2347
  AddOptions (header);
2348
2348
2349
  if (m_retxEvent.IsExpired () )
2349
  if (m_retxEvent.IsExpired ())
2350
    {
2350
    {
2351
      // RFC 6298, clause 2.5
2351
      // Schedules retransmit timeout. If this is a retransmission, double the timer
2352
      Time doubledRto = m_rto + m_rto;
2353
      m_rto = Min (doubledRto, Time::FromDouble (60,  Time::S));
2354
2352
2355
      // Schedules retransmit
2353
      if (seq != m_highTxMark)
2354
        { // This is a retransmit
2355
          // RFC 6298, clause 2.5
2356
          Time doubledRto = m_rto + m_rto;
2357
          m_rto = Min (doubledRto, Time::FromDouble (60,  Time::S));
2358
        }
2356
2359
2357
      NS_LOG_LOGIC (this << " SendDataPacket Schedule ReTxTimeout at time " <<
2360
      NS_LOG_LOGIC (this << " SendDataPacket Schedule ReTxTimeout at time " <<
2358
                    Simulator::Now ().GetSeconds () << " to expire at time " <<
2361
                    Simulator::Now ().GetSeconds () << " to expire at time " <<

Return to bug 2041