Rod Hynes b5db6ee0b6 Update vendored Psiphon-Labs/quic-go 3 lat temu
..
.codecov.yml b5db6ee0b6 Update vendored Psiphon-Labs/quic-go 3 lat temu
.gitignore b5db6ee0b6 Update vendored Psiphon-Labs/quic-go 3 lat temu
.gitmodules b5db6ee0b6 Update vendored Psiphon-Labs/quic-go 3 lat temu
.golangci.yml b5db6ee0b6 Update vendored Psiphon-Labs/quic-go 3 lat temu
LICENSE.md b5db6ee0b6 Update vendored Psiphon-Labs/quic-go 3 lat temu
README.md b5db6ee0b6 Update vendored Psiphon-Labs/quic-go 3 lat temu
decoder.go b5db6ee0b6 Update vendored Psiphon-Labs/quic-go 3 lat temu
encoder.go b5db6ee0b6 Update vendored Psiphon-Labs/quic-go 3 lat temu
header_field.go b5db6ee0b6 Update vendored Psiphon-Labs/quic-go 3 lat temu
static_table.go b5db6ee0b6 Update vendored Psiphon-Labs/quic-go 3 lat temu
tools.go b5db6ee0b6 Update vendored Psiphon-Labs/quic-go 3 lat temu
varint.go b5db6ee0b6 Update vendored Psiphon-Labs/quic-go 3 lat temu

README.md

QPACK

Godoc Reference Code Coverage

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 should be able to interoperate with other QPACK implemetations (both encoders and decoders), however it won't achieve a high compression efficiency.

Running the interop tests

Install the QPACK interop files by running

git submodule update --init --recursive

Then run the tests:

ginkgo -r integrationtests