introducer duration variance

This commit is contained in:
orignal 2024-10-01 20:35:46 -04:00
parent d5c40bb6be
commit 8c292727da
2 changed files with 5 additions and 2 deletions

View File

@ -1267,7 +1267,9 @@ namespace transport
ts < session->GetCreationTime () + SSU2_TO_INTRODUCER_SESSION_EXPIRATION)
{
session->SendKeepAlive ();
if (ts < session->GetCreationTime () + SSU2_TO_INTRODUCER_SESSION_DURATION)
if (ts < session->GetCreationTime () + SSU2_TO_INTRODUCER_SESSION_DURATION ||
ts < session->GetCreationTime () + SSU2_TO_INTRODUCER_SESSION_DURATION +
m_Rng () % SSU2_TO_INTRODUCER_SESSION_DURATION_VARIANCE)
{
newList.push_back ({ident, session->GetRelayTag ()});
if (tag != session->GetRelayTag ())

View File

@ -35,7 +35,8 @@ namespace transport
const uint64_t SSU2_SOCKET_MAX_BUFFER_SIZE = 4 * 1024 * 1024;
const size_t SSU2_MAX_NUM_INTRODUCERS = 3;
const size_t SSU2_MIN_RECEIVED_PACKET_SIZE = 40; // 16 byte short header + 8 byte minimum payload + 16 byte MAC
const int SSU2_TO_INTRODUCER_SESSION_DURATION = 3600; // 1 hour
const int SSU2_TO_INTRODUCER_SESSION_DURATION = 3480; // 58 minutes
const int SSU2_TO_INTRODUCER_SESSION_DURATION_VARIANCE = 330; // 5 minutes
const int SSU2_TO_INTRODUCER_SESSION_EXPIRATION = 4800; // 80 minutes
const int SSU2_KEEP_ALIVE_INTERVAL = 15; // in seconds
const int SSU2_KEEP_ALIVE_INTERVAL_VARIANCE = 4; // in seconds