Expand description
http2 - HTTP/2 implementation with optional TLS transport.
This crate provides a completion-based HTTP/2 implementation. It does not use async/await or tokio.
§Features
- Full HTTP/2 frame encoding and decoding
- HPACK header compression
- Connection and stream state management
- Flow control
- Transport layer abstraction (plain TCP, TLS)
Re-exports§
pub use frame::CONNECTION_PREFACE;pub use frame::DEFAULT_HEADER_TABLE_SIZE;pub use frame::DEFAULT_INITIAL_WINDOW_SIZE;pub use frame::DEFAULT_MAX_CONCURRENT_STREAMS;pub use frame::DEFAULT_MAX_FRAME_SIZE;pub use frame::DataFrame;pub use frame::ErrorCode;pub use frame::FRAME_HEADER_SIZE;pub use frame::Frame;pub use frame::FrameDecoder;pub use frame::FrameEncoder;pub use frame::FrameError;pub use frame::FrameType;pub use frame::GoAwayFrame;pub use frame::HeadersFrame;pub use frame::PingFrame;pub use frame::Priority;pub use frame::RstStreamFrame;pub use frame::Setting;pub use frame::SettingId;pub use frame::SettingsFrame;pub use frame::StreamId;pub use frame::WindowUpdateFrame;pub use hpack::HeaderField;pub use hpack::HpackDecoder;pub use hpack::HpackEncoder;pub use transport::PlainTransport;pub use transport::ProcessResult;pub use transport::Transport;pub use transport::TransportState;pub use transport::TlsConfig;pub use transport::TlsTransport;pub use connection::Connection;pub use connection::ConnectionError;pub use connection::ConnectionEvent;pub use connection::ConnectionSettings;pub use connection::ConnectionState;pub use connection::FlowControl;pub use connection::ServerConnection;pub use connection::ServerEvent;pub use connection::Stream;pub use connection::StreamState;
Modules§
- connection
- HTTP/2 connection state machine.
- frame
- HTTP/2 frame types and parsing.
- hpack
- HPACK header compression (RFC 7541).
- transport
- Transport layer abstraction.