mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2026-05-24 03:45:31 +00:00
count number of dropped tunnel build messages
This commit is contained in:
@@ -560,9 +560,15 @@ namespace i2p
|
||||
if (!m_LastTunnelBuildMessageTimestamp || ts > m_LastTunnelBuildMessageTimestamp + TUNNEL_BUILD_MESSAGES_MIN_INTERVAL)
|
||||
{
|
||||
m_LastTunnelBuildMessageTimestamp = ts;
|
||||
if (m_NumDroppedTunnelBuildMessages > 0)
|
||||
{
|
||||
LogPrint (eLogWarning, "I2NP: ", m_NumDroppedTunnelBuildMessages, " tunnel build messages dropped");
|
||||
m_NumDroppedTunnelBuildMessages = 0;
|
||||
}
|
||||
HandleI2NPMessage (msg);
|
||||
}
|
||||
// else drop TBM
|
||||
else // drop TBM
|
||||
m_NumDroppedTunnelBuildMessages++;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
||||
@@ -319,12 +319,12 @@ namespace tunnel
|
||||
size_t GetI2NPMessageLength (const uint8_t * msg, size_t len);
|
||||
void HandleI2NPMessage (std::shared_ptr<I2NPMessage> msg);
|
||||
|
||||
const uint64_t TUNNEL_BUILD_MESSAGES_MIN_INTERVAL = 100; // in milliseconds
|
||||
const uint64_t TUNNEL_BUILD_MESSAGES_MIN_INTERVAL = 200; // in milliseconds
|
||||
class I2NPMessagesHandler
|
||||
{
|
||||
public:
|
||||
|
||||
I2NPMessagesHandler (): m_LastTunnelBuildMessageTimestamp (0) {};
|
||||
I2NPMessagesHandler (): m_LastTunnelBuildMessageTimestamp (0), m_NumDroppedTunnelBuildMessages (0) {};
|
||||
~I2NPMessagesHandler ();
|
||||
void PutNextMessage (std::shared_ptr<I2NPMessage>&& msg);
|
||||
void Flush ();
|
||||
@@ -333,6 +333,7 @@ namespace tunnel
|
||||
|
||||
std::list<std::shared_ptr<I2NPMessage> > m_TunnelMsgs, m_TunnelGatewayMsgs;
|
||||
uint64_t m_LastTunnelBuildMessageTimestamp; // in milliseconds
|
||||
int m_NumDroppedTunnelBuildMessages;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user