Trait solicit::http::session::Session
[−]
[src]
pub trait Session { fn new_data_chunk(&mut self, stream_id: StreamId, data: &[u8]); fn new_headers(&mut self, stream_id: StreamId, headers: Vec<Header>); fn end_of_stream(&mut self, stream_id: StreamId); }
A trait that defines the interface between an HttpConnection
and the higher-levels that use
it. Essentially, it allows the HttpConnection
to pass information onto those higher levels
through a well-defined interface.
These methods are effectively a set of callbacks that the HttpConnection
invokes when the
corresponding events arise on the HTTP/2 connection (i.e. frame stream).
TODO Allow the session to influence the HttpConnection
state and raise
errors (i.e. make the return type -> HttpResult<()>).
Required Methods
fn new_data_chunk(&mut self, stream_id: StreamId, data: &[u8])
Notifies the Session
that a new data chunk has arrived on the
connection for a particular stream. Only the raw data is passed
to the callback (all padding is already discarded by the connection).
fn new_headers(&mut self, stream_id: StreamId, headers: Vec<Header>)
Notifies the Session
that headers have arrived for a particular
stream. The given list of headers is already decoded by the connection.
fn end_of_stream(&mut self, stream_id: StreamId)
Notifies the Session
that a particular stream got closed by the peer.
Implementors
impl<'a, State> Session for ClientSession<'a, State> where State: SessionState + 'a
impl<'a, State> Session for ServerSession<'a, State> where State: SessionState + 'a