JoinTimeoutException
class JoinTimeoutException(message: String = "timed out waiting for the host to admit or reject this peer") : IllegalStateException
Thrown by gameJoin when the host never signals admission (neither admits nor closes the roster) within the gameJoin joinAdmissionTimeout bound.
Distinct from RosterFullException so callers can diagnose "host gone / crashed mid-handshake" vs "roster was full" without inspecting the message string. On timeout, the caller may retry gameJoin (the host may still be starting up) or surface a connectivity-problem message.