1
0
mirror of https://github.com/PurpleI2P/i2pd.git synced 2025-01-22 08:14:15 +00:00

cleanup terminated sessions

This commit is contained in:
orignal 2022-06-26 21:35:26 -04:00
parent b5d139f7b2
commit a99fcfe54f

View File

@ -376,6 +376,9 @@ namespace transport
m_LastSession->SetRemoteEndpoint (senderEndpoint);
m_LastSession->ProcessPeerTest (buf, len);
break;
case eSSU2SessionStateTerminated:
m_LastSession = nullptr;
break;
default:
LogPrint (eLogWarning, "SSU2: Invalid session state ", (int)m_LastSession->GetState ());
}
@ -608,7 +611,8 @@ namespace transport
for (auto it = m_Sessions.begin (); it != m_Sessions.end ();)
{
if (it->second->IsTerminationTimeoutExpired (ts))
if (it->second->GetState () == eSSU2SessionStateTerminated ||
it->second->IsTerminationTimeoutExpired (ts))
{
if (it->second->IsEstablished ())
it->second->TerminateByTimeout ();