Skip to main content

Module session

Module session 

Source
Expand description

The session handler: an I/O-agnostic state machine driving a single SOE session.

This ports the reference SoeProtocolHandler, restructured as a pure state machine. Rather than owning a socket, the handler accepts incoming datagrams via SoeSession::process_incoming, surfaces datagrams to be sent via SoeSession::take_outgoing, and surfaces received application data via SoeSession::take_received. Time is supplied by the caller as Instant.

The handler negotiates a session (contextless SessionRequest/ SessionResponse exchange), then dispatches contextual packets: routing reliable data to the input channel, acknowledgements to the output channel, and handling heartbeats and disconnects.

Structs§

ApplicationParameters
Application-level parameters: the optional encryption key state.
SessionParameters
Parameters controlling a session. Mutated during negotiation as the two parties agree on connection details.
SoeSession
an I/O-agnostic handler for a single SOE protocol session.

Enums§

SessionEvent
An event surfaced by a SoeSession.
SessionMode
The mode a SoeSession operates in.
SessionState
The lifecycle state of a SoeSession.