Package-level declarations
Types
Who is a game's players talking through right now — the attachment directory.
A Raft learner-client that proposes commands through the cluster leader and exposes the committed log stream for state-machine application.
Configuration for a ClusterClient's endpoint rotation on transport tear.
One server's view of the two-tier overlay — the piece that survives a client's failover to a different server (slice 5D).
Deliver Raft messages to nodes that sit behind another server, without ever losing track of who really sent each one — the routed Raft transport.
Carry one per-recipient message to exactly one player who sits behind a different server — the cross-core routed unicast.
Properties
The room-channel name an admitted client's app-unicast spoke rides on — the two-peer server↔client link a server hands to OverlayServer.admit as the local delivery seam for cross-core routed unicasts.
Functions
Keep an OverlayServer's attachment directory in step with a server's live client connections — the production, connection-layer form of "publish each connected player into the routing directory so the rest of the core relays to me".
Build an AttachmentDirectory for one server, replicating its attachments to the rest of the core over interServerSeam — the fully-meshed inter-server link. Each server calls this once with its own seam into the core.
Constructs a ClusterClient connected to the relay-room cluster.
Constructs a ClusterClient wrapping raftNode directly.
Core-side learner admission for the server-core placement: whenever this node is the core leader and a connected session peer is neither a core voter nor already an admitted learner, commit a membership change adding it as a learner.
Cross-server learner admission for the federated server-core placement — the federated generalisation of launchCoreLearnerAdmission.
Build an OverlayServer for one server, wiring its AttachmentDirectory and RoutedUnicastRouter together over the two inter-server channels.
Build a RoutedRaftTransport for a player: it always forwards to its single server and never routes for anyone else. Required even single-server — without it a learner's reply, handed raw to a follower server, is dropped or answered NotLeader, wedging the commit path.
Build a RoutedUnicastRouter for one server, taking sole ownership of coreSeam's incoming for the routing relay.
Build a RoutedRaftTransport for a core server: it may take one core hop to reach a player behind another server, choosing that hop from attachment.
Wire M voter us.tractat.kuilt.raft.RaftNodes over real Seams into a VoterMesh.