mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2026-08-14 07:11:02 +00:00
don't send eof with reveived data
This commit is contained in:
@@ -41,12 +41,12 @@ namespace client
|
||||
received += len;
|
||||
if (received < it->size ()) break;
|
||||
}
|
||||
if (m_Stream->GetStatus () == i2p::stream::eStreamStatusClosed ||
|
||||
if (received > 0) // we have some data
|
||||
handler (boost::system::error_code (), received);
|
||||
else if (m_Stream->GetStatus () == i2p::stream::eStreamStatusClosed ||
|
||||
m_Stream->GetStatus () == i2p::stream::eStreamStatusTerminated)
|
||||
// read stream after close, return eof with outstanding data
|
||||
handler (boost::asio::error::make_error_code (boost::asio::error::eof), received);
|
||||
else if (received > 0) // we have some data
|
||||
handler (boost::system::error_code (), received);
|
||||
handler (boost::asio::error::make_error_code (boost::asio::error::eof), 0);
|
||||
else if (bufs.size () > 0) // wait for incoming data
|
||||
m_Stream->AsyncReceive (*boost::asio::buffer_sequence_begin (bufs), std::move (handler), i2p::stream::MAX_RECEIVE_TIMEOUT);
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user