InMemoryRoomFabric
constructor(scope: CoroutineScope, dispatcher: CoroutineContext, authorizer: RoomAuthorizer = RoomAuthorizer.AllowAll, random: Random = Random(0))
Parameters
scope
owns the server accept pump, per-connection read loops, and the client mux collectors. Required — no real-dispatcher default (test determinism).
dispatcher
coroutine context for the mesh-seam link loops on both ends, so server- and client-side seams share the test's virtual clock. Required — no real-dispatcher default.
authorizer
per-room membership gate on the server. Defaults to RoomAuthorizer.AllowAll; pass a rejecting policy to test structural exclusion.
random
seeded Random for the server seam's nonce generation. Seeded so a run is deterministic; per-client nonce randoms are passed to clientSeam / clientLoom.