quic-go / qpack

a (minimal) QPACK (RFC 9204) implementation in Go
MIT License
29 stars 8 forks source link
http3 qpack quic

QPACK

PkgGoDev Code Coverage Fuzzing Status

This is a minimal QPACK (RFC 9204) implementation in Go. It is minimal in the sense that it doesn't use the dynamic table at all, but just the static table and (Huffman encoded) string literals. Wherever possible, it reuses code from the HPACK implementation in the Go standard library.

It is interoperable with other QPACK implementations (both encoders and decoders), however it won't achieve a high compression efficiency. If you're interested in dynamic table support, please comment on the issue.

Running the Interop Tests

Install the QPACK interop files by running

git submodule update --init --recursive

Then run the tests:

go test -v ./integrationtests/interop/