create error code based on stream status

This commit is contained in:
orignal
2026-07-31 17:17:49 -04:00
parent 07fb13c811
commit 0066db4119
+18 -7
View File
@@ -422,18 +422,29 @@ namespace stream
else if (ecode == boost::asio::error::operation_aborted)
{
// timeout not expired
if (m_Status == eStreamStatusClosed || m_Status == eStreamStatusTerminated)
handler (boost::asio::error::make_error_code (boost::asio::error::eof), 0);
else if (m_Status == eStreamStatusReset)
handler (boost::asio::error::make_error_code (boost::asio::error::connection_reset), 0);
else
handler (boost::asio::error::make_error_code (boost::asio::error::operation_aborted), 0);
boost::system::error_code retCode;
switch (m_Status)
{
case eStreamStatusClosed:
case eStreamStatusTerminated:
retCode = boost::asio::error::make_error_code (boost::asio::error::eof);
break;
case eStreamStatusReset:
retCode = boost::asio::error::make_error_code (boost::asio::error::connection_reset);
break;
case eStreamStatusNew:
retCode = boost::asio::error::make_error_code (boost::asio::error::not_connected);
break;
default:
retCode = boost::asio::error::make_error_code (boost::asio::error::operation_aborted);
}
handler (retCode, 0);
}
else
{
// timeout expired
if (remainingTimeout <= 0)
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), 0);
else
{
// intermediate interrupt