Room
A membership-aware session room built over a us.tractat.kuilt.core.Seam.
The key abstraction above us.tractat.kuilt.core.Seam: peers become Members only after completing the admit/identify handshake. Raw connected-but-unidentified peers are invisible to consumers of Room — they do not appear in roster and their frames are dropped from incoming.
All flows are coroutine-scope-bound (the us.tractat.kuilt.core.Loom backing this room's us.tractat.kuilt.core.Seam drives the lifecycle). Call leave to clean up.
Properties
Host-verified principals of currently-linked peers, keyed by the PeerId each was verified against at admission — the roster analogue of the per-member Member.principal.
Stream of MembershipEvents describing roster and liveness changes.
Whether this peer's own end of the fabric carrying this room can carry frames now.
The joiner's reconnect credential, available after the admit handshake completes.
The role this peer plays in the room.
This peer's own identifier (mirrors us.tractat.kuilt.core.Seam.selfId).
Functions
Leave the room cleanly. Idempotent.
Attempt to resume this room from a ResumeToken after a transport drop.