Four routes on axum 0.7 per spec §4.1: POST /v1/sessions (mint), POST /v1/sessions/:id/offer (str0m-native SDP accept), DELETE /v1/sessions/:id (close), GET / (static HTML client). Session store is a DashMap<ChannelId, Arc<Mutex<RtcSession>>> (spec §4.5); one tokio task drives all session poll loops — per-session tasks would pre-pave the wrong pattern for step 4's dedicated thread. Graceful shutdown drops the DashMap on Ctrl-C / SIGTERM. Integration test exercises the REST surface; manual browser e2e per README §6.5.
1.6 KiB
1.6 KiB