launchAdmission

open fun launchAdmission(scope: CoroutineScope, node: RaftNode, binding: ConsensusBinding, seam: Seam)

Launch this placement's learner-admission policy on scope, if it has one.

Called unconditionally by every constructing bootstrap (gameNode) once node is built, so a placement can own how it grows its learner set without the bootstrap having to distinguish placements that share a seatingserverCore and federatedCore both seat AuthoritySeating.CoreVoters, so seating alone cannot tell them apart, yet they need different admission loops (local-only vs cross-server roster exchange).

The default is a no-op: SessionOwned and preBuilt grow their membership through the appoint-the-host / roster-given machinery in the bootstrap itself, not here. A fixed-core placement overrides this to launch its admission loop (self-gated on binding.self ∈ core, so only a core member admits).

Parameters

scope

the bootstrap caller's scope; the admission loop lives for its lifetime.

node

the just-constructed consensus node whose membership the loop drives.

binding

the fully-wired bootstrap binding — a fixed-core admission loop reads ConsensusBinding.self (the self-gate) and binding.channel(CORE_ROSTER_CHANNEL) (federated only).

seam

the raw session seam whose peers roster the loop admits from.