Browse Source

more adequate initial RTT

pull/2094/merge
orignal 1 week ago
parent
commit
5f1b31213f
  1. 4
      libi2pd/Streaming.cpp
  2. 2
      libi2pd/Streaming.h

4
libi2pd/Streaming.cpp

@ -537,7 +537,7 @@ namespace stream @@ -537,7 +537,7 @@ namespace stream
m_LocalDestination.DeletePacket (sentPacket);
acknowledged = true;
if (m_WindowSize < MAX_WINDOW_SIZE && !m_IsFirstACK)
if (m_RTT < m_LocalDestination.GetRandom () % INITIAL_RTT) // dirty
if (m_RTT < m_LocalDestination.GetRandom () % INITIAL_RTO) // dirty
m_WindowIncCounter++;
}
else
@ -1143,7 +1143,7 @@ namespace stream @@ -1143,7 +1143,7 @@ namespace stream
CancelRemoteLeaseChange ();
UpdateCurrentRemoteLease (true);
}
if (m_RemoteLeaseChangeTime && m_IsRemoteLeaseChangeInProgress && ts > m_RemoteLeaseChangeTime + INITIAL_RTT)
if (m_RemoteLeaseChangeTime && m_IsRemoteLeaseChangeInProgress && ts > m_RemoteLeaseChangeTime + INITIAL_RTO)
{
CancelRemoteLeaseChange ();
m_CurrentRemoteLease = m_NextRemoteLease;

2
libi2pd/Streaming.h

@ -60,7 +60,7 @@ namespace stream @@ -60,7 +60,7 @@ namespace stream
const double SLOWRTT_EWMA_ALPHA = 0.05;
const double PREV_SPEED_KEEP_TIME_COEFF = 0.35; // 0.1 - 1 // how long will the window size stay around the previous drop level, less is longer
const int MIN_RTO = 20; // in milliseconds
const int INITIAL_RTT = 8000; // in milliseconds
const int INITIAL_RTT = 1500; // in milliseconds
const int INITIAL_RTO = 9000; // in milliseconds
const int INITIAL_PACING_TIME = 1000 * INITIAL_RTT / INITIAL_WINDOW_SIZE; // in microseconds
const int MIN_SEND_ACK_TIMEOUT = 2; // in milliseconds

Loading…
Cancel
Save