Module server

Module server 

Source
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.
Link1Received
DPlus-specific: LINK1 seen and acknowledged, waiting for LINK2.
Linked
LINK request received and authorized, client is linked.
ServerSession
A typed server-side reflector session.
ServerSessionCore
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§

ClientRejectedReason
Reason a reflector rejected or evicted a client.
ForwardableFrame
A voice frame ready to be forwarded to other connected clients.
ServerEvent
One event surfaced by the server-side session machine.
ServerStateKind
Runtime discriminator mirroring the typestate markers.

Traits§

ServerState
Sealed marker for server-side session states.