[][src]Crate httpbis

Asynchnous HTTP/2 client and server implementation.

Based on futures/tokio.

This crate is used to implement grpc crate, and probably not usable for anything else.

Structs

BytesDeque

VecDeque<Bytes> but slightly more efficient.

Client

Asynchronous HTTP/2 client.

ClientBuilder

Builder for HTTP/2 client.

ClientConf

Client configuration.

ClientRequest

Reference to outgoing stream on the client side.

Header

HTTP/2 header, regular or pseudo-header

HeaderName

Representation of header name

HeaderValue

A convenience struct representing a header value.

Headers

HTTP message headers (or trailers)

HttpStreamAfterHeaders

Stream of DATA or HEADERS frames after initial HEADERS.

Response

Convenient wrapper around async HTTP response future/stream

Server
ServerBuilder
ServerConf
ServerHandlerContext
ServerHandlerPaths

Convient implementation of ServerHandler which allows delegation to multiple ServerHandler implementations provided by user.

ServerIncreaseInWindow
ServerRequest
ServerResponse
SimpleHttpMessage

Enums

AnySocketAddr
ClientTlsOption
DataOrTrailers

Stream frame content after initial headers

Error

An enum representing errors that can arise when performing operations involving an HTTP/2 connection.

ErrorCode

The enum represents an error code that are used in RST_STREAM and GOAWAY frames. These are defined in Section 7 of the HTTP/2 spec.

HttpScheme

An enum representing the two possible HTTP schemes.

PseudoHeaderName

HTTP/2 pseudo header name.

SendError
SenderState
ServerAlpn
ServerTlsOption
StreamDead

Traits

BufGetBytes

Get Bytes from Buf.

ClientInterface
ServerHandler

Central HTTP/2 service interface.

ServerRequestStreamHandler

Synchronous callback of incoming data

Type Definitions

Result

A convenience Result type that has the HttpError type as the error type and a generic Ok result type.

StreamId

An alias for the type that represents the ID of an HTTP/2 stream