Skip to main content

sark_core/manifold/server/
event.rs

1use sark_http::field::metadata::section::state::RetainedHead;
2
3use crate::manifold::{client::event::Reset, server, stream};
4
5/// One request-side event produced by an HTTP server carrier.
6pub enum Event<C: server::Connection + ?Sized> {
7    /// Carrier control progress with no application-visible request data.
8    Control,
9    /// The protocol handshake completed for this connection.
10    Established,
11    Head {
12        message: C::Message,
13        head: RetainedHead<C::Fields, C::Selection, C::Control>,
14        section: stream::Section,
15    },
16    Data {
17        message: C::Message,
18        data: C::Data,
19    },
20    Reset {
21        stream: C::Key,
22        reason: Reset,
23        retired: Option<C::Retired>,
24    },
25    /// A transport owner retired after semantic stream completion.
26    Retired(C::Retired),
27}