let few first tunnel build messages go through before drop

This commit is contained in:
orignal
2026-02-04 14:36:46 -05:00
parent ca08b5848f
commit b0543dfe32
2 changed files with 22 additions and 5 deletions
+16 -3
View File
@@ -557,9 +557,13 @@ namespace i2p
case eI2NPShortTunnelBuild:
{
auto ts = i2p::util::GetMonotonicMilliseconds ();
if (!m_LastTunnelBuildMessageTimestamp || ts > m_LastTunnelBuildMessageTimestamp + TUNNEL_BUILD_MESSAGES_MIN_INTERVAL)
if (!m_LastTunnelBuildMessageTimestamp ||
ts > m_LastTunnelBuildMessageTimestamp + TUNNEL_BUILD_MESSAGES_MAX_INTERVAL ||
ts > m_LastTunnelBuildMessageTimestamp + TUNNEL_BUILD_MESSAGES_MIN_INTERVAL +
m_NumThrottledTunnelBuildMessages*TUNNEL_BUILD_MESSAGES_EXTRA_INTERVAL_PER_MESSAGE)
{
m_LastTunnelBuildMessageTimestamp = ts;
m_NumThrottledTunnelBuildMessages = 0;
if (m_NumDroppedTunnelBuildMessages > 0)
{
LogPrint (eLogWarning, "I2NP: ", m_NumDroppedTunnelBuildMessages, " tunnel build messages dropped");
@@ -567,8 +571,17 @@ namespace i2p
}
HandleI2NPMessage (msg);
}
else // drop TBM
m_NumDroppedTunnelBuildMessages++;
else
{
if (m_NumThrottledTunnelBuildMessages < MAX_NUM_THROTTLED_TUNNEL_BUILD_MESSAGES)
{
// let TBM go through
m_NumThrottledTunnelBuildMessages++;
HandleI2NPMessage (msg);
}
else // drop TBM
m_NumDroppedTunnelBuildMessages++;
}
break;
}
default: