[][src]Module solicit::http::session

Defines the interface for the session-level management of HTTP/2 communication. This is effectively an API that allows hooking into an HTTP/2 connection in order to handle events arising on the connection.

The module also provides a default implementation for some of the traits.

Structs

Client

A phantom type for the DefaultSessionState struct that indicates that the struct should be geared for a client session.

DefaultSessionState

An implementation of the SessionState trait that tracks the active streams in a HashMap, mapping the stream ID to the concrete Stream instance.

DefaultStream

An implementation of the Stream trait that saves all headers and data in memory.

Server

A phantom type for the DefaultSessionState struct that indicates that the struct should be geared for a server session.

StreamIter

A newtype for an iterator over Streams saved in a SessionState.

Enums

StreamDataChunk

The enum represents the successful completion of the Stream::get_data_chunk method.

StreamDataError

The enum represents errors that can be returned from the Stream::get_data_chunk method.

StreamState

The enum represents all the states that an HTTP/2 stream can be found in.

Traits

Session

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.

SessionState

A trait defining a set of methods for accessing and influencing an HTTP/2 session's state.

Stream

A trait representing a single HTTP/2 stream. An HTTP/2 connection multiplexes a number of streams.

Functions

default_client_state

Create a new DefaultSessionState for a client session. This function is a workaround required due to rust-lang/rust#29023.

default_server_state

Create a new DefaultSessionState for a server session. This function is a workaround required due to rust-lang/rust#29023.