Expand description
room manager, room runtime and user-session integration types
this facade is the server crate’s entry point for admitting users, sending outbound messages and reading room statistics pure routing and transport details remain behind the room API
§Slow-consumer shutdown
room::UserOutboundSender::send queues output without waiting for
capacity
when the queue is full it also records an overflow sentinel
room::UserOutboundReceiver::recv_event returns that sentinel before
output that was already queued
the caller should stop normal draining after
room::UserOutboundEvent::Overflow
let (sender, mut receiver) =
UserOutboundSender::channel(1, Arc::new(RuntimeMetrics::default()));
let departed = |id| {
UserOutbound::Message(RoomEventMessage::UserDeparted {
user_id: UserId::Integer(id),
})
};
let queued_output = departed(1);
assert!(sender.send(queued_output).is_ok());
assert!(matches!(
sender.send(departed(2)),
Err(UserOutboundSendError::Full(_))
));
assert!(matches!(
receiver.recv_event().await,
UserOutboundEvent::Overflow(_)
));Structs§
- Broadcast
Payload - Incoming
Bitrate Snapshot - Join
User Request - Existing users replace their current connection without consuming another admission slot.
- Media
Worker Id - runtime-local identifier for one rtc media worker
- Remote
Track Projection - Remote
Track Snapshot - Room
- Room
Admission Policy - admission limits that stay fixed for one room lifetime
- Room
Config - external room config passed in from the http or runtime edge
- Room
Detail Capture - Passive room state required by room detail and graph diagnostics.
- Room
Manager - Coordinates current room admission and lifecycle.
- Room
Media Counts - Room
Overview Capture - Passive facts required by summary and room-list diagnostics.
- Room
Runtime Context - Initial router placement context for one room instance.
- Room
Runtime Policy - stable runtime policy bundle shared by the room and its state model
- Room
User Admission - committed admission result returned after join-side effects run
- Room
User Capture - Passive room and user facts for one room-scoped user lookup.
- Room
User Permissions - Room-state marker that collapses every authenticated
UserPermissionsvalue. - Room
User Stats Snapshot - Room
Users Capture - Passive room user inventory used by room-user and worker diagnostics.
- Router
Placement - Router
Placements - Runtime
Room Directory Snapshot - current room directory row used by diagnostics views
- Runtime
Room Stats Snapshot - operator-facing room stats assembled from directory and transport snapshots
- User
Outbound Overflow - queue overflow details captured when a user cannot accept more outbound work
- User
Outbound Queue Limits - message and byte capacity for one user outbound queue
- User
Outbound Receiver - User
Outbound Sender
Enums§
- Broadcast
Payload Error - Room
Event Message - Room
Join Error - Room
Manager Join Error - Room
Manager Serve Error - Router
Placements Error - User
Close Reason - User
Outbound - room output that belongs to one connected user
- User
Outbound Event - receiver-side queue event for user-session loops
- User
Outbound Overflow Kind - outbound queue limit that rejected a message
- User
Outbound Send Error - non-blocking outbound send failure