Skip to main content

Crate slozhn_session

Crate slozhn_session 

Source
Expand description

Session layer (spec §8): transparent stream recovery across disconnects. Foundations: TCP seq/ack + MQTT QoS1 + SignalR buffered reconnect.

Layering: the session transport owns the Hello handshake and physical reconnects; the frame connection is brought up via bind_pre_negotiated and lives on top of the changing physical connections, noticing nothing.

Known limitation: Ping/Pong is outside the session — a ping lost in a disconnect hangs; ping is liveness of one physical connection, not the session.

Modules§

client
Client-side session transport: a Frame duplex that internally handles physical reconnects, the resume handshake, replay and dedup. The logical connection (bind_pre_negotiated) on top notices nothing.
core
Sans-io session core: sequencing, replay buffer, dedup, Ack cadence. Used by both sides; knows nothing about transports or timers.
server
Server side of the session layer: session manager + a transport living on top of changing physical connections. Native-only (in-memory state, tokio TTL). Behind a load balancer, sticky sessions are required (spec §8).

Structs§

SessionConfig

Enums§

SessionError