Interoperability container for Quinn, a QUIC
implementation in pure Rust.
This repository contains a server and client implementation to test interoperabilty with other QUIC
and HTTP/3
implementations. It also provides a container definition to be integrated to QUIC interop runner, see the results here.
You can find the container at DockerHub: stammw / quinn-interop
- [submodule] quinn: the QUIC implementation
- [submodule] h3: the HTTP/3 implementation
- [submodule] quic-interop-runner: the testing application, to test locally
- quinn-interop: interop application to be deployed into the container
Start by cloning the repository with its submodules:
git clone --recursive git://github.com/stammw/quinn-interop
First, install the runner dependencies:
pip3 install -r quic-interop-runner/requirements.txt
You will need some other dependencies on your system:
- tshark
- docker-compose
# Build the container
docker build -f Dockerfile -t stammw/quinn-interop:latest .
# Run the tests
cd quic-interop-runner/
python3 run.py -d -s quic-go -c quinn
It's possible that your system doesn't handle the network correctly for the interop tester to work. In this case, a Vagrant box is available:
# Spin up the vagrant box
vagrant up
# Then, connect to it and start testing
vagrant ssh
(cd ../ && docker build -f Dockerfile -t stammw/quinn-interop:latest .) \
&& python3 run.py -d -s quic-go -c quinn
When you need to start hacking a bit, this command might be handy:
vagrant rsync-auto