|
|
@ -92,6 +92,7 @@ namespace client |
|
|
|
m_Stream->Close (); |
|
|
|
m_Stream->Close (); |
|
|
|
m_Stream.reset (); |
|
|
|
m_Stream.reset (); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
m_Socket->shutdown(boost::asio::ip::tcp::socket::shutdown_send); // avoid RST
|
|
|
|
m_Socket->close (); |
|
|
|
m_Socket->close (); |
|
|
|
|
|
|
|
|
|
|
|
Done(shared_from_this ()); |
|
|
|
Done(shared_from_this ()); |
|
|
@ -108,10 +109,12 @@ namespace client |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (ecode) |
|
|
|
if (ecode) |
|
|
|
{ |
|
|
|
{ |
|
|
|
LogPrint (eLogError, "I2PTunnel: read error: ", ecode.message ()); |
|
|
|
|
|
|
|
if (ecode != boost::asio::error::operation_aborted) |
|
|
|
if (ecode != boost::asio::error::operation_aborted) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
LogPrint (eLogError, "I2PTunnel: read error: ", ecode.message ()); |
|
|
|
Terminate (); |
|
|
|
Terminate (); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
else |
|
|
|
else |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (m_Stream) |
|
|
|
if (m_Stream) |
|
|
|