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

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