don't send eof with reveived data

This commit is contained in:
orignal
2026-07-29 06:50:21 -04:00
parent da5b063420
commit 4b507cda96
+4 -4
View File
@@ -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