fn choose_placement(
room: &PlacementSnapshot,
policy: RoomWorkerPolicy,
workers: &[WorkerPlacementState],
start_worker: usize,
allocate_spillover_router: impl FnOnce() -> RouterId,
) -> Result<RouterPlacement, RoomJoinError>fn choose_placement(
room: &PlacementSnapshot,
policy: RoomWorkerPolicy,
workers: &[WorkerPlacementState],
start_worker: usize,
allocate_spillover_router: impl FnOnce() -> RouterId,
) -> Result<RouterPlacement, RoomJoinError>