Skip to main content

serve_stream

Function serve_stream 

Source
pub async fn serve_stream<S>(
    registry: Registry,
    roster: Roster,
    root: Root,
    define: Option<DefineHandler>,
    stream: S,
)
where S: AsyncRead + AsyncWrite + Unpin + Send + 'static,
Expand description

Drive one connection over any byte stream: the frame loop (read → demux → actor), the per-session [fan] tasks, the live roster push, and the request replies. Transport-free — the caller supplies the bytes. Returns when the peer’s stream reaches a clean EOF (read_frame → Ok(None)) or the reader/writer errors.

The ONE unix assumption removed: UnixStream::into_split becomes tokio::io::split, which needs only AsyncRead + AsyncWrite.