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

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

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)