MuxClientLoom

constructor(base: Loom, baseRendezvous: Rendezvous, scope: CoroutineScope, nameOf: (Rendezvous) -> String)

Parameters

base

the underlying transport Loom (any fabric — WebSocket, TCP, in-memory).

baseRendezvous

how to weave the single base fabric (host a new session or join one).

scope

a CoroutineScope owning the per-generation NamedMux collectors. Required — no real-dispatcher default, so tests drive the mux under virtual time.

nameOf

maps a Rendezvous to the channel name a weave resolves to. host and join for one logical session must map to the same name.