Struct solicit::http::client::ClientSession [−][src]
pub struct ClientSession<'a, State> where
State: SessionState + 'a, { /* 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]
impl<'a, State> ClientSession<'a, State> where
State: SessionState + 'a,
pub fn new(state: &'a mut State) -> ClientSession<State>
[src]
pub 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]
impl<'a, State> Session for ClientSession<'a, State> where
State: SessionState + 'a,
fn new_data_chunk(&mut self, stream_id: StreamId, data: &[u8])
[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>)
[src]
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)
[src]
fn end_of_stream(&mut self, stream_id: StreamId)
Notifies the Session
that a particular stream got closed by the peer.
Auto Trait Implementations
impl<'a, State> Send for ClientSession<'a, State> where
State: Send,
impl<'a, State> Send for ClientSession<'a, State> where
State: Send,
impl<'a, State> Sync for ClientSession<'a, State> where
State: Sync,
impl<'a, State> Sync for ClientSession<'a, State> where
State: Sync,