Expand description
Worker-local sessions, routing and their lifecycle transitions.
Control commands, packet processing and recovery mutate one PacketLoopState.
Its sessions, media identity and source routes remain separately borrowable.
RtcSessionState combines str0m with receiver delivery state so stream
retirement and RTX cache changes stay within the session boundary.
RouteTable owns source forwarding decisions and keyframe retry state.
Topology changes that cross these owners belong to PacketLoopState.
Registration and SSRC binding maintain paired media lookups. Consumer removal
repairs destination indexes before retiring its stream. Session teardown also
clears scheduling and demux state while preserving surviving consumersβ indexes.
Callers use these complete operations instead of coordinating cleanup steps.
schedule validates queued handles and deadlines against current sessions.
Datagram lookup in demux is independent of source-to-consumer routing.
RtcSnapshotState shares transport observations with readers outside the
worker without exposing mutable session or route state.
Re-exportsΒ§
pub use snapshot::RtcSnapshotState;pub use crate::engine::media_transport::TransportSessionHealth;
ModulesΒ§
- bitrate π
- Worker-local RTC payload bitrate observations.
- consumer_
egress π - Session operations pairing receiver egress state with str0m.
- consumer_
routes π - Consumer routes coupled to session MID indexes and receiver repair state.
- demux π
- Worker-local indexes for UDP ingress routing.
- keyframe_
tracker π - keyframe request tracking for RTC producer sources
- media_
lifecycle π - Media removal coupled to receive streams, routes, repair and session accounting.
- media_
registry π - worker-local session media ownership indexes.
- ownership π
- Producer and route-source ownership validation.
- relay_
registry π - Source-scoped relay registrations and bounded packet mailboxes.
- route_
control π - Packet gates and audio activity used by
RouteTable. - route_
delivery π - Route delivery transitions coupled to session repair and producer NACK policy.
- route_
table π - Source-scoped forwarding decisions and decoder-recovery state.
- schedule π
- Dirty-session and deadline scheduling with generation-checked handles.
- session π
- Session-local str0m state, staged negotiation and ingress accounting.
- session_
lifecycle π - Session retirement across scheduling, identity, demux and route state.
- slots π
- worker-local slots for packet-loop identities
- snapshot π
- Read-side transport observations shared outside the worker.
- source_
route π - packet-loop source route facts
StructsΒ§
- Packet
Loop πState - authoritative mutable state for one RTC packet-loop worker
- Shared
RtcSocket π - shared UDP socket owned by one RTC worker