mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-04-28 11:47:48 +02:00
don't request relay tag for every session if we have enough introducers
This commit is contained in:
parent
4178ac8eac
commit
0b97b4294c
2 changed files with 9 additions and 4 deletions
|
@ -680,10 +680,14 @@ namespace transport
|
|||
size_t payloadSize = 7;
|
||||
if (GetRouterStatus () == eRouterStatusFirewalled && m_Address->IsIntroducer ())
|
||||
{
|
||||
// relay tag request
|
||||
payload[payloadSize] = eSSU2BlkRelayTagRequest;
|
||||
memset (payload + payloadSize + 1, 0, 2); // size = 0
|
||||
payloadSize += 3;
|
||||
if (!m_Server.IsMaxNumIntroducers (m_RemoteEndpoint.address ().is_v4 ()) ||
|
||||
m_Server.GetRng ()() & 0x01) // request tag with probability 1/2 if we have enough introducers
|
||||
{
|
||||
// relay tag request
|
||||
payload[payloadSize] = eSSU2BlkRelayTagRequest;
|
||||
memset (payload + payloadSize + 1, 0, 2); // size = 0
|
||||
payloadSize += 3;
|
||||
}
|
||||
}
|
||||
payloadSize += CreatePaddingBlock (payload + payloadSize, 40 - payloadSize, 1);
|
||||
// KDF for session request
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue