aboutsummaryrefslogtreecommitdiff
path: root/src/zenhttp/servers/wshttpsys.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/zenhttp/servers/wshttpsys.h')
-rw-r--r--src/zenhttp/servers/wshttpsys.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/zenhttp/servers/wshttpsys.h b/src/zenhttp/servers/wshttpsys.h
index ab0ca381a..6015e3873 100644
--- a/src/zenhttp/servers/wshttpsys.h
+++ b/src/zenhttp/servers/wshttpsys.h
@@ -19,6 +19,8 @@
namespace zen {
+class HttpServer;
+
/**
* WebSocket connection over an http.sys opaque-mode connection
*
@@ -37,7 +39,7 @@ namespace zen {
class WsHttpSysConnection : public WebSocketConnection
{
public:
- WsHttpSysConnection(HANDLE RequestQueueHandle, HTTP_REQUEST_ID RequestId, IWebSocketHandler& Handler, PTP_IO Iocp);
+ WsHttpSysConnection(HANDLE RequestQueueHandle, HTTP_REQUEST_ID RequestId, IWebSocketHandler& Handler, PTP_IO Iocp, HttpServer* Server);
~WsHttpSysConnection() override;
/**
@@ -75,6 +77,7 @@ private:
HTTP_REQUEST_ID m_RequestId;
IWebSocketHandler& m_Handler;
PTP_IO m_Iocp;
+ HttpServer* m_HttpServer;
// Tagged OVERLAPPED contexts for concurrent read and write
HttpSysIoContext m_ReadIoContext{};
@@ -96,7 +99,7 @@ private:
Ref<WsHttpSysConnection> m_SelfRef;
std::atomic<bool> m_ShutdownRequested{false};
std::atomic<bool> m_IsOpen{true};
- bool m_CloseSent = false;
+ std::atomic<bool> m_CloseSent{false};
};
} // namespace zen