mirror of
https://github.com/Icinga/icinga2.git
synced 2026-05-28 04:12:13 -04:00
HttpServerConnection#StartStreaming(): auto-detect disconnection
This commit is contained in:
parent
c284cf0b68
commit
28d46052b0
1 changed files with 18 additions and 0 deletions
|
|
@ -93,7 +93,25 @@ void HttpServerConnection::Disconnect()
|
|||
|
||||
void HttpServerConnection::StartStreaming()
|
||||
{
|
||||
namespace asio = boost::asio;
|
||||
|
||||
m_HasStartedStreaming = true;
|
||||
|
||||
HttpServerConnection::Ptr keepAlive (this);
|
||||
|
||||
asio::spawn(m_IoStrand, [this, keepAlive](asio::yield_context yc) {
|
||||
if (!m_ShuttingDown) {
|
||||
char buf[128];
|
||||
asio::mutable_buffer readBuf (buf, 128);
|
||||
boost::system::error_code ec;
|
||||
|
||||
do {
|
||||
m_Stream->async_read_some(readBuf, yc[ec]);
|
||||
} while (!ec);
|
||||
|
||||
Disconnect();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
static inline
|
||||
|
|
|
|||
Loading…
Reference in a new issue