Kludex
uvicorn
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Branches
Benchmarks
Runs
Performance History
Latest Results
Implement websocket keepalive pings for websockets-sansio Adds server-side keepalive to the sansio WebSocket implementation using two asyncio.TimerHandle primitives instead of a long-running task. Matches the passive-timer style already used by the HTTP keep-alive in httptools_impl.py, and addresses #2883 for the sansio path. Key points: - Single ping in flight at a time, driven by the chain schedule_ping -> send_keepalive_ping -> handle_pong -> schedule_ping. - Random 4-byte payload per ping, matching the websockets reference. - Latency compensation keeps the effective cadence at ws_ping_interval. - Failure path uses ServerProtocol.fail(1011, "keepalive ping timeout"). - ws_ping_interval <= 0 is treated as disabled (preserves the contract test_client_connection_lost relies on).
ws-keepalive-timer
5 hours ago
Version 0.43.0 (#2885)
main
2 days ago
Update release notes for version 0.43.0 Removed emoji from the release note for version 0.43.0.
release/0.43.0
2 days ago
Add emojis to changelog
release/0.43.0
2 days ago
Prepare release 0.43.0
release/0.43.0
2 days ago
🐛 Emit `http.disconnect` ASGI `receive()` event on server shutting down for streaming responses (#2829)
main
2 days ago
Merge branch 'main' into shutdown-stream
tiangolo:shutdown-stream
2 days ago
Remove redundant sleep calls in shutdown tests
tiangolo:shutdown-stream
2 days ago
Latest Branches
CodSpeed Performance Gauge
0%
Implement websocket keepalive pings for websockets-sansio
#2888
5 hours ago
f83e727
ws-keepalive-timer
CodSpeed Performance Gauge
0%
Version 0.43.0
#2885
2 days ago
36b2c7e
release/0.43.0
CodSpeed Performance Gauge
0%
🐛 Emit `http.disconnect` ASGI `receive()` event on server shutting down for streaming responses
#2829
2 days ago
76200e8
tiangolo:shutdown-stream
© 2026 CodSpeed Technology
Home
Terms
Privacy
Docs