Skip to main content

Crate http2_proto

Crate http2_proto 

Source
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.