mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-04-28 11:47:48 +02:00
SSU timeout
This commit is contained in:
parent
3c6793745b
commit
c30dd2639a
4 changed files with 27 additions and 4 deletions
21
SSU.cpp
21
SSU.cpp
|
@ -546,6 +546,7 @@ namespace ssu
|
|||
}
|
||||
if (m_PeerTest)
|
||||
SendPeerTest ();
|
||||
ScheduleTermination ();
|
||||
}
|
||||
|
||||
void SSUSession::Failed ()
|
||||
|
@ -557,7 +558,24 @@ namespace ssu
|
|||
m_Server.DeleteSession (this); // delete this
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void SSUSession::ScheduleTermination ()
|
||||
{
|
||||
m_Timer.cancel ();
|
||||
m_Timer.expires_from_now (boost::posix_time::seconds(SSU_TERMINATION_TIMEOUT));
|
||||
m_Timer.async_wait (boost::bind (&SSUSession::HandleTerminationTimer,
|
||||
this, boost::asio::placeholders::error));
|
||||
}
|
||||
|
||||
void SSUSession::HandleTerminationTimer (const boost::system::error_code& ecode)
|
||||
{
|
||||
if (ecode != boost::asio::error::operation_aborted)
|
||||
{
|
||||
LogPrint ("SSU no activity fo ", SSU_TERMINATION_TIMEOUT, " seconds");
|
||||
Close ();
|
||||
}
|
||||
}
|
||||
|
||||
const uint8_t * SSUSession::GetIntroKey () const
|
||||
{
|
||||
if (m_RemoteRouter)
|
||||
|
@ -587,6 +605,7 @@ namespace ssu
|
|||
|
||||
void SSUSession::ProcessData (uint8_t * buf, size_t len)
|
||||
{
|
||||
ScheduleTermination ();
|
||||
//uint8_t * start = buf;
|
||||
uint8_t flag = *buf;
|
||||
buf++;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue