Expand description
Server-side session machinery.
All three protocols (DExtra, DPlus, DCS) are implemented at
the ServerSessionCore level. The dstar-gateway-server shell
dispatches all three through dedicated per-protocol
handle_inbound_* methods on ProtocolEndpoint<P>.
The server-side machinery mirrors the client-side split:
ServerSessionCore is the protocol-erased state machine,
ServerSession<P, S> is the typestate wrapper. The
dstar-gateway-server shell spawns one ServerSessionCore per
inbound peer and routes datagrams through
ServerSessionCore::handle_input.
ForwardableFrame is a helper type describing an encoded voice
frame ready for fan-out to N other connected clients — the
fan-out engine uses it to avoid re-encoding the same bytes
per destination.
Structs§
- Closed
- Terminal — client disconnected.
- Link1
Received DPlus-specific: LINK1 seen and acknowledged, waiting for LINK2.- Linked
- LINK request received and authorized, client is linked.
- Server
Session - A typed server-side reflector session.
- Server
Session Core - Protocol-erased server-side session machine.
- Streaming
- Voice stream in progress on this client.
- Unknown
- New client packet seen, no link request validated yet.
- Unlinking
- UNLINK request seen, client being torn down.
Enums§
- Client
Rejected Reason - Reason a reflector rejected or evicted a client.
- Forwardable
Frame - A voice frame ready to be forwarded to other connected clients.
- Server
Event - One event surfaced by the server-side session machine.
- Server
State Kind - Runtime discriminator mirroring the typestate markers.
Traits§
- Server
State - Sealed marker for server-side session states.