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.