h3wire 0.1.0

Sans-I/O HTTP/3 (RFC 9114) and QPACK (RFC 9204) engine
Documentation
  • Coverage
  • 100%
    121 out of 121 items documented1 out of 1 items with examples
  • Size
  • Source code size: 2.4 MB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 1.7 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 3s Average build duration of successful builds.
  • all releases: 3s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • mp0rta/h3wire
    0 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • mp0rta

h3wire

h3wire is a pure-Rust, sans-I/O HTTP/3 protocol engine designed for embeddability and protocol extensibility. Unlike async HTTP/3 libraries such as hyperium/h3, h3wire does not own transport streams or expose HTTP request/response as its fundamental abstraction.

The core (HTTP/3, RFC 9114, and QPACK, RFC 9204) consumes stream bytes and resets from your QUIC transport and returns events for the application and actions for the transport, with no I/O, no async runtime and no dependencies beyond std (#![forbid(unsafe_code)], MSRV 1.85). Status: v0.1 core. It covers RFC 9114 request/response streams, control and QPACK streams, GOAWAY and stream termination, QPACK with the static table only (no dynamic table), Extended CONNECT (RFC 9220), the HTTP/3 part of HTTP Datagrams (RFC 9297) and extension points for frame, stream and setting types. There is no async layer or QUIC adapter yet.

Installation

Add the library with Cargo:

cargo add h3wire

Or add h3wire = "0.1" under [dependencies].

Licensed under either of Apache License, Version 2.0 or MIT license at your option.