mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-09-03 09:23:17 +00:00
operation_aborted error code for stream
This commit is contained in:
parent
1acce0cc80
commit
9a617297f2
7
SAM.cpp
7
SAM.cpp
@ -251,7 +251,7 @@ namespace stream
|
|||||||
Connect (*leaseSet, session);
|
Connect (*leaseSet, session);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
i2p::data::netdb.Subscribe (dest.GetIdentHash (), session->localDestination->GetTunnelPool ());
|
i2p::data::netdb.RequestDestination (dest.GetIdentHash (), true, session->localDestination->GetTunnelPool ());
|
||||||
m_Timer.expires_from_now (boost::posix_time::seconds(SAM_CONNECT_TIMEOUT));
|
m_Timer.expires_from_now (boost::posix_time::seconds(SAM_CONNECT_TIMEOUT));
|
||||||
m_Timer.async_wait (boost::bind (&SAMSocket::HandleStreamDestinationRequestTimer,
|
m_Timer.async_wait (boost::bind (&SAMSocket::HandleStreamDestinationRequestTimer,
|
||||||
this, boost::asio::placeholders::error, dest.GetIdentHash (), session));
|
this, boost::asio::placeholders::error, dest.GetIdentHash (), session));
|
||||||
@ -366,7 +366,7 @@ namespace stream
|
|||||||
SendNamingLookupReply (leaseSet);
|
SendNamingLookupReply (leaseSet);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
i2p::data::netdb.Subscribe (ident, m_Session->localDestination->GetTunnelPool ());
|
i2p::data::netdb.RequestDestination (ident, true, m_Session->localDestination->GetTunnelPool ());
|
||||||
m_Timer.expires_from_now (boost::posix_time::seconds(SAM_NAMING_LOOKUP_TIMEOUT));
|
m_Timer.expires_from_now (boost::posix_time::seconds(SAM_NAMING_LOOKUP_TIMEOUT));
|
||||||
m_Timer.async_wait (boost::bind (&SAMSocket::HandleNamingLookupDestinationRequestTimer,
|
m_Timer.async_wait (boost::bind (&SAMSocket::HandleNamingLookupDestinationRequestTimer,
|
||||||
this, boost::asio::placeholders::error, ident));
|
this, boost::asio::placeholders::error, ident));
|
||||||
@ -447,7 +447,8 @@ namespace stream
|
|||||||
if (ecode)
|
if (ecode)
|
||||||
{
|
{
|
||||||
LogPrint ("SAM stream read error: ", ecode.message ());
|
LogPrint ("SAM stream read error: ", ecode.message ());
|
||||||
Terminate ();
|
if (ecode != boost::asio::error::operation_aborted)
|
||||||
|
Terminate ();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -275,8 +275,15 @@ namespace stream
|
|||||||
{
|
{
|
||||||
size_t received = ConcatenatePackets (boost::asio::buffer_cast<uint8_t *>(buffer), boost::asio::buffer_size(buffer));
|
size_t received = ConcatenatePackets (boost::asio::buffer_cast<uint8_t *>(buffer), boost::asio::buffer_size(buffer));
|
||||||
if (ecode == boost::asio::error::operation_aborted)
|
if (ecode == boost::asio::error::operation_aborted)
|
||||||
|
{
|
||||||
// timeout not expired
|
// timeout not expired
|
||||||
handler (boost::system::error_code (), received);
|
if (m_IsOpen)
|
||||||
|
// no error
|
||||||
|
handler (boost::system::error_code (), received);
|
||||||
|
else
|
||||||
|
// socket closed
|
||||||
|
handler (boost::asio::error::make_error_code (boost::asio::error::operation_aborted), 0);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
// timeout expired
|
// timeout expired
|
||||||
handler (boost::asio::error::make_error_code (boost::asio::error::timed_out), received);
|
handler (boost::asio::error::make_error_code (boost::asio::error::timed_out), received);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user