doc: Correct comments after HTTPRequest::m_client was changed from shared to weak pointer

This commit is contained in:
Hodlinator
2026-08-19 11:03:50 +02:00
parent 59224b66aa
commit 15e5c35c45
2 changed files with 5 additions and 4 deletions

View File

@@ -1084,8 +1084,9 @@ void HTTPServer::DisconnectClients()
// First check for idle timeout. We reset the timer when we send and receive data,
// but if the server is busy handling a request we should ignore the timeout until
// the reply is sent. If we did erase the shared_ptr<HTTPRemoteClient> reference in m_connected
// while the server is busy with a request, there would still be a reference in a worker
// thread keeping the socket open even after "disconnecting".
// while the server is busy with a request, it might be prematurely dropped before
// the response has been sent, or if the HTTPRequest was holding a temporary shared_ptr
// client on a worker thread - it would keep the socket open even after "disconnecting".
const bool is_idle{m_rpcservertimeout.count() > 0 &&
now - client->m_idle_since.load() > m_rpcservertimeout &&
!client->m_req_busy};

View File

@@ -331,7 +331,7 @@ private:
/**
* List of HTTPRemoteClients with connected sockets.
* Connections will only be added and removed in the I/O thread, but
* shared pointers may be passed to worker threads to handle requests
* weak pointers may be passed to worker threads to handle requests
* and send replies.
*/
std::vector<std::shared_ptr<HTTPRemoteClient>> m_connected;
@@ -477,7 +477,7 @@ private:
* Close underlying socket connections for flagged clients
* by removing their shared pointer from m_connected. If an HTTPRemoteClient
* is busy in a worker thread, its connection will be closed once that
* job is done and the HTTPRequest is out of scope.
* job is done.
*/
void DisconnectClients();
};