Expand description
Pure client-side signaling state machine for the o-sfu protocol.
ProtocolCore performs no I/O. Each transition returns ordered Command
values for the host to execute before reporting follow-up events. This keeps
transitions deterministic and lets Wasm, native and test hosts share the
same lifecycle rules.
Modulesยง
- connection_
lifecycle ๐ - socket lifecycle transitions for
ProtocolCore - outbound_
batch ๐ - request_
flow ๐ - request_
tracker ๐ - tracks in-flight recording requests and their timeout timers
- server_
events ๐ - sticky_
replay ๐ - timers ๐
- request timeout timer identity for the protocol core
Structsยง
- Connect
Context ๐ - Pending
Negotiation ๐ - Pending
Request - Protocol
Core - The stored state falls into three groups:
Enumsยง
- Command
- One ordered side effect for the host that drives
ProtocolCore. - Connection
State - Negotiation
Kind - Negotiation
Rejection ๐ - Negotiation
Slot ๐ - Pending
Request ๐Kind - Protocol
Event - Protocol
Phase ๐
Constantsยง
- BATCH_
FLUSH_ ๐DELAY_ MS - BATCH_
FLUSH_ ๐TIMER_ ID - INITIAL_
RECOVERY_ ๐DELAY_ MS - MAX_
OUTBOUND_ ๐BATCH_ LEN - MAX_
RECOVERY_ ๐DELAY_ MS - RECOVERY_
TIMER_ ID - host-facing timer id used by the recovery backoff scheduler
- REQUEST_
TIMEOUT_ ๐MS
Functionsยง
- close_
for_ ๐protocol_ error - empty_
features ๐ - next_
recovery_ ๐delay - Grows reconnect delay by 1.5x while keeping the backoff bounded.
Type Aliasesยง
- Commands ๐