From e8c9d2db103fd41351a90d420b86d4dae85f285f Mon Sep 17 00:00:00 2001 From: orignal Date: Wed, 15 Apr 2015 11:52:49 -0400 Subject: [PATCH] double RTO after every resend attempt --- Streaming.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Streaming.cpp b/Streaming.cpp index c26c6b40..2ee33421 100644 --- a/Streaming.cpp +++ b/Streaming.cpp @@ -665,6 +665,7 @@ namespace stream if (packets.size () > 0) { m_NumResendAttempts++; + m_RTO *= 2; switch (m_NumResendAttempts) { case 1: // congesion avoidance @@ -672,9 +673,10 @@ namespace stream if (m_WindowSize < MIN_WINDOW_SIZE) m_WindowSize = MIN_WINDOW_SIZE; break; case 2: + m_RTO = INITIAL_RTO; // drop RTO to initial upon tunnels pair change first time + // no break here case 4: 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"); break; case 3: