mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-02-02 06:54:15 +00:00
delete closed I2P tunnel connection
This commit is contained in:
parent
3344e8f824
commit
82814dcc26
@ -30,21 +30,21 @@ namespace stream
|
|||||||
|
|
||||||
I2PTunnelConnection::~I2PTunnelConnection ()
|
I2PTunnelConnection::~I2PTunnelConnection ()
|
||||||
{
|
{
|
||||||
if (m_Stream)
|
|
||||||
{
|
|
||||||
m_Stream->Close ();
|
|
||||||
DeleteStream (m_Stream);
|
|
||||||
m_Stream = nullptr;
|
|
||||||
}
|
|
||||||
delete m_Socket;
|
delete m_Socket;
|
||||||
}
|
}
|
||||||
|
|
||||||
void I2PTunnelConnection::Terminate ()
|
void I2PTunnelConnection::Terminate ()
|
||||||
{
|
{
|
||||||
|
if (m_Stream)
|
||||||
|
{
|
||||||
|
m_Stream->Close ();
|
||||||
|
DeleteStream (m_Stream);
|
||||||
|
m_Stream = nullptr;
|
||||||
|
}
|
||||||
m_Socket->close ();
|
m_Socket->close ();
|
||||||
if (m_Owner)
|
if (m_Owner)
|
||||||
m_Owner->RemoveConnection (this);
|
m_Owner->RemoveConnection (this);
|
||||||
// TODO: delete
|
delete this;
|
||||||
}
|
}
|
||||||
|
|
||||||
void I2PTunnelConnection::Receive ()
|
void I2PTunnelConnection::Receive ()
|
||||||
@ -59,8 +59,8 @@ namespace stream
|
|||||||
if (ecode)
|
if (ecode)
|
||||||
{
|
{
|
||||||
LogPrint ("I2PTunnel read error: ", ecode.message ());
|
LogPrint ("I2PTunnel read error: ", ecode.message ());
|
||||||
m_Stream->Close ();
|
if (ecode != boost::asio::error::operation_aborted)
|
||||||
Terminate ();
|
Terminate ();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -75,8 +75,8 @@ namespace stream
|
|||||||
if (ecode)
|
if (ecode)
|
||||||
{
|
{
|
||||||
LogPrint ("I2PTunnel write error: ", ecode.message ());
|
LogPrint ("I2PTunnel write error: ", ecode.message ());
|
||||||
m_Stream->Close ();
|
if (ecode != boost::asio::error::operation_aborted)
|
||||||
Terminate ();
|
Terminate ();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
StreamReceive ();
|
StreamReceive ();
|
||||||
@ -96,7 +96,8 @@ namespace stream
|
|||||||
if (ecode)
|
if (ecode)
|
||||||
{
|
{
|
||||||
LogPrint ("I2PTunnel stream read error: ", ecode.message ());
|
LogPrint ("I2PTunnel stream read error: ", ecode.message ());
|
||||||
Terminate ();
|
if (ecode != boost::asio::error::operation_aborted)
|
||||||
|
Terminate ();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -110,9 +111,12 @@ namespace stream
|
|||||||
if (ecode)
|
if (ecode)
|
||||||
{
|
{
|
||||||
LogPrint ("I2PTunnel connect error: ", ecode.message ());
|
LogPrint ("I2PTunnel connect error: ", ecode.message ());
|
||||||
if (m_Stream) m_Stream->Close ();
|
if (ecode != boost::asio::error::operation_aborted)
|
||||||
DeleteStream (m_Stream);
|
{
|
||||||
m_Stream = nullptr;
|
if (m_Stream) m_Stream->Close ();
|
||||||
|
DeleteStream (m_Stream);
|
||||||
|
m_Stream = nullptr;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user