mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-03-10 21:51:04 +00:00
add lower limit for stream RTO
This commit is contained in:
parent
b2aa34baa6
commit
cf77be0eeb
@ -438,7 +438,7 @@ namespace stream
|
|||||||
else
|
else
|
||||||
rttUpdated = false;
|
rttUpdated = false;
|
||||||
if (rttUpdated)
|
if (rttUpdated)
|
||||||
m_RTO = m_RTT * 1.5; // TODO: implement it better
|
m_RTO = std::max (MIN_RTO, (int)(m_RTT * 1.5)); // TODO: implement it better
|
||||||
LogPrint (eLogDebug, "Streaming: Packet ", seqn, " acknowledged rtt=", rtt, " sentTime=", sentPacket->sendTime);
|
LogPrint (eLogDebug, "Streaming: Packet ", seqn, " acknowledged rtt=", rtt, " sentTime=", sentPacket->sendTime);
|
||||||
m_SentPackets.erase (it++);
|
m_SentPackets.erase (it++);
|
||||||
m_LocalDestination.DeletePacket (sentPacket);
|
m_LocalDestination.DeletePacket (sentPacket);
|
||||||
@ -882,7 +882,7 @@ namespace stream
|
|||||||
m_CurrentOutboundTunnel = routingPath->outboundTunnel;
|
m_CurrentOutboundTunnel = routingPath->outboundTunnel;
|
||||||
m_CurrentRemoteLease = routingPath->remoteLease;
|
m_CurrentRemoteLease = routingPath->remoteLease;
|
||||||
m_RTT = routingPath->rtt;
|
m_RTT = routingPath->rtt;
|
||||||
m_RTO = m_RTT*1.5; // TODO: implement it better
|
m_RTO = std::max (MIN_RTO, (int)(m_RTT * 1.5)); // TODO: implement it better
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -58,6 +58,7 @@ namespace stream
|
|||||||
const int MAX_WINDOW_SIZE = 128;
|
const int MAX_WINDOW_SIZE = 128;
|
||||||
const int WINDOW_SIZE_DROP_FRACTION = 10; // 1/10
|
const int WINDOW_SIZE_DROP_FRACTION = 10; // 1/10
|
||||||
const double RTT_EWMA_ALPHA = 0.125;
|
const double RTT_EWMA_ALPHA = 0.125;
|
||||||
|
const int MIN_RTO = 20; // in milliseconds
|
||||||
const int INITIAL_RTT = 8000; // in milliseconds
|
const int INITIAL_RTT = 8000; // in milliseconds
|
||||||
const int INITIAL_RTO = 9000; // in milliseconds
|
const int INITIAL_RTO = 9000; // in milliseconds
|
||||||
const int MIN_SEND_ACK_TIMEOUT = 2; // in milliseconds
|
const int MIN_SEND_ACK_TIMEOUT = 2; // in milliseconds
|
||||||
|
Loading…
x
Reference in New Issue
Block a user