feat(qbzd): unified event bus + SSE endpoint (Phase 3)

Playback event loop polls QbzCore player state with adaptive timing
(250ms playing, 1s paused, 5s idle) and broadcasts PlaybackSnapshot
events to the event bus.

New SSE endpoint at /api/events streams all DaemonEvents to clients.
Broadcast channel bounded to 256 events with lagged client handling.

cc
This commit is contained in:
vicrodh committed 2026-04-09 03:38:06 -06:00
1 parent 6ee123c2a4
commit ac17787264
5 files changed
+176

No files matched your search

+2
View File
@@ -26,7 +26,9 @@ tower-http = { version = "0.6", features = ["cors"] }
# Async
tokio = { workspace = true }
tokio-stream = { workspace = true }
async-trait = { workspace = true }
futures-util = { workspace = true }
# Serialization
serde = { workspace = true }