Releases · uNetworking/uWebSockets
v20.74.0 Minor libdeflate correctionResurrecting support of libdeflate, now specifically only for inflation and only as a fast path to zlib.
WITH_LIBDEFLATE=1 make
builds examples using this fast path (you need to build the submodule first). Improved load_test.c
benchmark can now highlight inflation cost:
For me and my particular test system:
Note: WITH_DEFLATE is only compatible with uWS::SHARED_DECOMPRESSOR!
v20.72.0 Prepared Messages for Efficient Sending and PublishingA feature from v0.14, previously removed due to lack of interest, has now been revived! Check out the demo in examples/Precompress.cpp
to see it in action.
A PreparedMessage
is a message that is compressed once but can be sent multiple times. This requires the SHARED_COMPRESSOR
option but works with any decompressor option. The core idea is to decouple the compression process from the act of sending the message, reducing the per-socket computational overhead of compression to near zero.
This feature is ideal for scenarios where you need to send snapshots of a data stream to multiple recipients. Here’s how it could work:
PreparedMessage
containing the latest snapshot of the data (e.g., every 500ms).PreparedMessage
eliminates the need for repeated compression, significantly reducing overhead for each socket.SHARED_COMPRESSOR
. Using a sliding window compression method is incompatible with this optimization.WebSocket::sendPrepared
App::publishPrepared
Loop::prepareMessage
PreparedMessage
objects on any thread, as long as that thread has its own Loop
(which is automatically created for you via Loop::get()
). However, in such cases, you must handle synchronization manually. Refer to examples/Precompress.cpp
for guidance.This release introduces the interface and its initial implementation. While memory-saving optimizations are not included in this release, they may be addressed in future updates.
v20.71.0This release adds more HTTP tests and makes some minor corrections for passing those tests:
v20.69.0 HTTP spec. compliance testingA basic HTTP RFC9112 spec. compliance test has been added and minor changes have been made to pass all tests immediately:
This basic test catches no issues in Node.js, but it catches 2 issues in Deno (reported). The test can be found here:
https://github.com/uNetworkingAB/h1spec
In contrast, running the test on completely broken servers like mrhttp you get an obvious indication of so:
v20.68.0 Improved (restored) backwards compatibilityFor some users, recent introduction of CachedApp broke seamless backwards compatibility. If you rely on uWS::App
being uWS::TemplatedApp<false>
and not something else (like uWS::CachedApp<false>
😉), this release fixes your build:
typedef uWS::TemplatedApp<false> App;
typedef uWS::TemplatedApp<true> SSLApp;
v20.67.0 v20.66.0 Minor HTTP corrections
You can’t perform that action at this time.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4