TransportSession is the abstract client transport contract used by Nalix.SDK. It gives the SDK a common shape for connection state, packet registry access, raw packet sends, and receive-event wiring, while concrete sessions add protocol-specific behavior.
The abstract session sits between application code and the socket layer. It keeps higher-level code focused on packets instead of byte buffers, and it lets the SDK build request/response helpers, subscriptions, handshake flows, and diagnostics on top of the same contract.
Shared packet registry: Catalog resolves packet types for typed helpers and packet-aware extension methods.
Raw and typed receive paths: OnMessageReceived exposes IBufferLease, while typed helpers like On<T>() and RequestAsync<TResponse>() live in extension APIs.
Protocol-specific overrides: TcpSession adds reliable stream semantics, while UdpSession adds datagram semantics plus a UDP-only SessionToken for authenticated outbound envelopes.