Struct solicit::http::client::ClientSession
[−]
[src]
pub struct ClientSession<'a, State> where State: SessionState + 'a {
// some fields omitted
}
An implementation of the Session
trait specific to handling client HTTP/2 connections.
While handling the events signaled by the HttpConnection
, the struct will modify the given
session state appropriately.
The purpose of the type is to make it easier for client implementations to
only handle stream-level events by providing a Stream
implementation,
instead of having to implement all session management callbacks.
For example, by varying the Stream
implementation it is easy to implement
a client that streams responses directly into a file on the local file system,
instead of keeping it in memory (like the DefaultStream
does), without
having to change any HTTP/2-specific logic.
Methods
impl<'a, State> ClientSession<'a, State> where State: SessionState + 'a
[src]
fn new(state: &'a mut State) -> ClientSession<State>
Returns a new ClientSession
associated to the given state.
Trait Implementations
impl<'a, State> Session for ClientSession<'a, State> where State: SessionState + 'a
[src]
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). Read more
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. Read more
fn end_of_stream(&mut self, stream_id: StreamId)
Notifies the Session
that a particular stream got closed by the peer.