Repository navigation
release: v0.21.0 - #196
Merged
Merged
release: v0.21.0#196
Conversation
The server runner in 0.24 hands an upgraded connection to Handler.tunnel and bounds a streamed response by its progress. The hedge-hosted demo and bench server keep overriding hedge 0.12.0's =0.21.0 pin by ref.
A streamed response whose source returned pending is pulled again only when the host is told to. context.Waker is a value any thread may keep: slot and generation name the target in the host's terms, so a waker kept past its request wakes nothing.
A handler initializes a realtime.Session and asks for the upgrade with realtime.upgrade, then responds without committing, since laurel's execution treats a committed response as a cancelled request. The host negotiates and commits the 101 with accept_upgrade and pumps the connection through session_input and session_output. Pings, a peer's close and protocol errors are answered without the application, and a drain closes with 1001.
laurel.serve installs a tunnel owner that pumps an upgraded connection through the session its handler attached, with buffers from the request arena the tunnel keeps, and attaches each request's waker. Tests cover a websocket echo with a ping and a clean close, a second websocket closed with 1001 at the drain, and an event stream fed from another thread that lives more than three times its response timeout.
feat(#191): websockets and streams through mach-http 0.24's tunnel and progress deadline
…s demo/ graft's example/ carries the hedge-hosted demo now. The standalone demo, which runs through laurel.serve, moves up to demo/ with the same pins, and the README, doc/serve.md and CI follow it.
The bench server is hosted by laurel.serve on one thread instead of hedge, so it drops hedge, its tls, quic and acme pins and the mach-http override. run.sh passes the port through BENCH_PORT, and the report no longer records a hedge version. COMPARISON.md and the one committed run measured Laurel on hedge, which laurel no longer builds, so they go.
chore(#193): remove the hedge-hosted demo and hedge dependency
chore(release): 0.21.0
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Integration merge of dev for 0.21.0. Release commit: #195.