HTTP/2 framing, HPACK and connection state, I/O-free
0

Configure Feed

Select the types of activity you want to include in your feed.

OCaml 97.8%
Shell 0.6%
Dune 0.3%
Go 0.2%
Other 1.1%
91 1 0

Clone this repository

https://git.vm.fail/gazagnaire.org/ocaml-h2 https://git.vm.fail/did:plc:g2quezvhhtodsusu75s3iplo
ssh://git@git.recoil.org:2222/gazagnaire.org/ocaml-h2 ssh://git@git.recoil.org:2222/did:plc:g2quezvhhtodsusu75s3iplo

For self-hosted knots, clone URLs may differ based on your setup.


README.md

nox-h2#

Warning. This is a work-in-progress experimental fork of ocaml-h2. Do not use it in production; use ocaml-h2 instead.

HTTP/2 over Eio.

nox-h2 is an I/O-free HTTP/2 implementation: it decodes and encodes frames and drives the connection state machine without doing any I/O itself. nox-h2-eio is the Eio adapter that runs the server over an Eio flow, reading frames from the socket and coalescing responses through a Buf_write so several frames leave in one write.

Packages#

  • nox-h2 -- I/O-free HTTP/2 core (frames, connection state machine).
  • nox-h2-eio -- Eio adapter driving the core over a flow.

Install#

opam install nox-h2-eio

If opam cannot find the package, it may not yet be released in the public opam-repository. Add the overlay repository, then install it:

$ opam repo add samoht https://tangled.org/gazagnaire.org/opam-overlay.git
$ opam update
$ opam install nox-h2-eio

API#

See the .mli files under lib/ (Frame, Connection, Endpoint, Client, ...) for the documented interface.

License#

ISC. See LICENSE.md.