mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-04-28 11:47:48 +02:00
introducer expiration time variance
This commit is contained in:
parent
8c292727da
commit
514be6d048
2 changed files with 6 additions and 5 deletions
|
@ -1267,9 +1267,7 @@ namespace transport
|
|||
ts < session->GetCreationTime () + SSU2_TO_INTRODUCER_SESSION_EXPIRATION)
|
||||
{
|
||||
session->SendKeepAlive ();
|
||||
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)
|
||||
if (ts < session->GetCreationTime () + SSU2_TO_INTRODUCER_SESSION_DURATION)
|
||||
{
|
||||
newList.push_back ({ident, session->GetRelayTag ()});
|
||||
if (tag != session->GetRelayTag ())
|
||||
|
@ -1316,6 +1314,9 @@ namespace transport
|
|||
for (const auto& it : sessions)
|
||||
{
|
||||
uint32_t tag = it->GetRelayTag ();
|
||||
auto extraTime = std::min ((int)(ts - it->GetCreationTime ()), SSU2_TO_INTRODUCER_SESSION_EXPIRATION_VARIANCE);
|
||||
if( extraTime > 1)
|
||||
it->SetCreationTime (it->GetCreationTime () + m_Rng () % extraTime);
|
||||
uint32_t exp = it->GetCreationTime () + SSU2_TO_INTRODUCER_SESSION_EXPIRATION;
|
||||
if (!tag || ts + SSU2_TO_INTRODUCER_SESSION_DURATION/2 > exp)
|
||||
continue; // don't pick too old session for introducer
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue