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§
- Application
Parameters - Application-level parameters: the optional encryption key state.
- Session
Parameters - 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§
- Session
Event - An event surfaced by a
SoeSession. - Session
Mode - The mode a
SoeSessionoperates in. - Session
State - The lifecycle state of a
SoeSession.