diff --git a/src/WebSocketContext.h b/src/WebSocketContext.h index a6212b9..3bce002 100644 --- a/src/WebSocketContext.h +++ b/src/WebSocketContext.h @@ -91,7 +91,18 @@ private: if (webSocketData->compressionStatus == WebSocketData::CompressionStatus::COMPRESSED_FRAME) { webSocketData->compressionStatus = WebSocketData::CompressionStatus::ENABLED; - LoopData *loopData = (LoopData *) us_loop_ext(us_socket_context_loop(us_socket_get_context((us_socket *) s))); + //LoopData *loopData = (LoopData *) us_loop_ext(us_socket_context_loop(us_socket_get_context((us_socket *) s))); + + LoopData *loopData = (LoopData *) us_loop_ext( + + + static_dispatch(us_ssl_socket_context_loop, us_socket_context_loop)( + + static_dispatch(us_ssl_socket_get_context, us_socket_get_context)((SOCKET_TYPE *) s) + + ) + + ); std::string_view inflatedFrame = loopData->inflationStream->inflate({data, length}); if (!inflatedFrame.length()) { @@ -132,7 +143,21 @@ private: // what's really the story here? webSocketData->fragmentBuffer.append("...."); - LoopData *loopData = (LoopData *) us_loop_ext(us_socket_context_loop(us_socket_get_context((us_socket *) s))); + //LoopData *loopData = (LoopData *) us_loop_ext(us_socket_context_loop(us_socket_get_context((us_socket *) s))); + + //LoopData *loopData = (LoopData *) us_loop_ext(us_socket_context_loop(us_socket_get_context((us_socket *) s))); + + LoopData *loopData = (LoopData *) us_loop_ext( + + + static_dispatch(us_ssl_socket_context_loop, us_socket_context_loop)( + + static_dispatch(us_ssl_socket_get_context, us_socket_get_context)((SOCKET_TYPE *) s) + + ) + + ); + std::string_view inflatedFrame = loopData->inflationStream->inflate({webSocketData->fragmentBuffer.data(), webSocketData->fragmentBuffer.length() - 4}); if (!inflatedFrame.length()) { @@ -227,7 +252,7 @@ private: // bug: todo static bool refusePayloadLength(uint64_t length, uWS::WebSocketState *wState) { - std::cout << "refuse payload length" << std::endl; + //std::cout << "refuse payload length" << std::endl; /* We check if we want to accept such a frame based on size */ // for now, accept anything diff --git a/uSockets b/uSockets index 790a95f..3d1f6fb 160000 --- a/uSockets +++ b/uSockets @@ -1 +1 @@ -Subproject commit 790a95fba44bc25645c900569dc119c4f862606d +Subproject commit 3d1f6fbb505279055a138a5d497142c95d0cb8b1