1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
//! Plaza Lobby: components for building single-server lobby and room
//! management on top of Plaza Core.
//!
//! Implement [`RoomFactory`] for your game, hand it to an
//! [`InMemoryLobbyManager`], and the manager handles room creation, listing,
//! join authorization, and reaping finished rooms.
//!
//! Four smaller pieces sit around the manager. None holds timers or spawns
//! anything except `CachedTicketRegistry`, whose cache runs its own janitor
//! thread, so an application drives them from its own `StateLogic`:
//!
//! - [`MatchQueue`] for games where a player is paired rather than choosing,
//! including filling the seats nobody came for.
//! - [`SeatReservations`] for the window between a lobby admitting a player and
//! that player's socket arriving.
//! - [`TicketStore`] so a room learns who connected from the lobby rather than
//! from the client, as either [`MapTicketRegistry`] or, behind the `cache`
//! feature, `CachedTicketRegistry`.
//! - [`routing`] for placing a connection in the room whose schedule fits it.
pub use LobbyError;
pub use RoomFactory;
pub use ;
pub use *;
pub use ;
pub use SeatReservations;
pub use ;
pub use CachedTicketRegistry;
pub use ;
pub use ;