Skip to main content

Module protocol

Module protocol 

Source
Expand description

Protocol-state surface area.

Defines the SessionState trait that every front-end protocol implementation (h2c, mux, pipe, proxy_protocol, rustls, tcp_preread) plugs into the mio worker loop. kawa_h1 is no longer one of them: it keeps the H1 vocabulary (DefaultAnswer, HttpContext, Method) that mux builds on, and its own session state machine was removed on 2026-09-20 (sozu#1346). State implementations decide how to react to readiness events, manage timeouts, render their internal state for debugging, and signal whether the session can be torn down.

Re-exports§

pub use crate::protocol::kawa_h1 as http;
pub use crate::protocol::pipe::Pipe;
pub use crate::protocol::proxy_protocol::send::SendProxyProtocol;
pub use crate::protocol::rustls::TlsHandshake;

Modules§

h2c
Cleartext HTTP/2 prior-knowledge detection (sozu-proxy/sozu#1911).
kawa_h1
HTTP/1.1 building blocks shared with the mux datapath.
mux
HTTP/1.1 and HTTP/2 multiplexing layer.
pipe
Transparent byte-stream forwarder (TCP + WebSocket post-upgrade).
proxy_protocol
HAProxy PROXY protocol v2 state surface plus the legacy v1 header model.
rustls
Rustls handshake driver.
tcp_preread
Pure sans-io TCP passthrough SNI-preread core (issue #1279).
udp
Pure sans-io UDP load-balancing core.

Traits§

SessionState
All States should satisfy this trait in order to receive and handle Session events