ignore i2cp.closeIdleTime for tunnels on shared destinations

This commit is contained in:
orignal committed 2026-04-15 18:39:28 -04:00
1 parent bdb1432015
commit eee36175e6
2 files changed
+28 -8

No files matched your search

+24 -6
View File
@@ -39,6 +39,30 @@ namespace client
if (m_LocalDestination) m_LocalDestination->Release ();
}
void I2PService::Start ()
{
if (m_CloseIdleTime)
{
if (m_LocalDestination && m_LocalDestination->GetRefCounter () <= 1)
{
if (!m_IdleCheckTimer) m_IdleCheckTimer.reset (new boost::asio::steady_timer(m_LocalDestination->GetService ()));
m_LastActivityTime = i2p::util::GetMonotonicMilliseconds ();
ScheduleIdleCheckTimer ();
}
else
LogPrint (eLogError, "I2PService: i2cp.closeIdleTime can't be set for ", GetName (), " on shared destination");
}
}
void I2PService::Stop ()
{
if (m_IdleCheckTimer)
{
m_IdleCheckTimer->cancel ();
m_IdleCheckTimer = nullptr;
}
}
void I2PService::ClearHandlers ()
{
if(m_ConnectTimeout)
@@ -58,12 +82,6 @@ namespace client
{
if (idleTime > 0 && idleTime < I2P_SERVICE_MIN_CLOSE_IDLE_TIME) idleTime = I2P_SERVICE_MIN_CLOSE_IDLE_TIME;
m_CloseIdleTime = idleTime;
if (m_CloseIdleTime)
{
if (!m_IdleCheckTimer) m_IdleCheckTimer.reset (new boost::asio::steady_timer(m_LocalDestination->GetService ()));
m_LastActivityTime = i2p::util::GetMonotonicMilliseconds ();
ScheduleIdleCheckTimer ();
}
}
void I2PService::UpdateLastActivityTime ()