Browse Source

double RTO after every resend attempt

pull/189/head
orignal 10 years ago
parent
commit
e8c9d2db10
  1. 4
      Streaming.cpp

4
Streaming.cpp

@ -665,6 +665,7 @@ namespace stream
if (packets.size () > 0) if (packets.size () > 0)
{ {
m_NumResendAttempts++; m_NumResendAttempts++;
m_RTO *= 2;
switch (m_NumResendAttempts) switch (m_NumResendAttempts)
{ {
case 1: // congesion avoidance case 1: // congesion avoidance
@ -672,9 +673,10 @@ namespace stream
if (m_WindowSize < MIN_WINDOW_SIZE) m_WindowSize = MIN_WINDOW_SIZE; if (m_WindowSize < MIN_WINDOW_SIZE) m_WindowSize = MIN_WINDOW_SIZE;
break; break;
case 2: case 2:
m_RTO = INITIAL_RTO; // drop RTO to initial upon tunnels pair change first time
// no break here
case 4: case 4:
UpdateCurrentRemoteLease (); // pick another lease UpdateCurrentRemoteLease (); // pick another lease
m_RTO = INITIAL_RTO; // drop RTO to initial upon tunnels pair change
LogPrint (eLogWarning, "Another remote lease has been selected for stream"); LogPrint (eLogWarning, "Another remote lease has been selected for stream");
break; break;
case 3: case 3:

Loading…
Cancel
Save