read message body immediatly after length
This commit is contained in:
@@ -806,7 +806,16 @@ namespace transport
|
|||||||
{
|
{
|
||||||
if (m_NextReceivedBuffer) delete[] m_NextReceivedBuffer;
|
if (m_NextReceivedBuffer) delete[] m_NextReceivedBuffer;
|
||||||
m_NextReceivedBuffer = new uint8_t[m_NextReceivedLen];
|
m_NextReceivedBuffer = new uint8_t[m_NextReceivedLen];
|
||||||
Receive ();
|
boost::system::error_code ec;
|
||||||
|
size_t moreBytes = m_Socket.available(ec);
|
||||||
|
if (!ec && moreBytes >= m_NextReceivedLen)
|
||||||
|
{
|
||||||
|
// read and process messsage immediately if avaliable
|
||||||
|
moreBytes = boost::asio::read (m_Socket, boost::asio::buffer(m_NextReceivedBuffer, m_NextReceivedLen), boost::asio::transfer_all (), ec);
|
||||||
|
HandleReceived (ec, moreBytes);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
Receive ();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user