Rüdiger Klaehn 1df76577f7 tests: Add proptest arbitraries for various quinn-proto types and implement encoder roundtrip tests. (#325)
* Add proptests for encode/decode

* Add proptest arbitrary for VarInt and StreamId

Also fix the StreamId arbitrary::Arbitrary generation

* Add proptest arbitraries for various quinn-proto types and make use of them in the random interaction test

* Add more arbitraries.

* Remove unneeded derives

* Use MaybeFrame arb

* fmt

* Use cfg(test) for the arbitraries.

Also move the encode_decode tests into a separate file.

* Add more cases to TestFrame

* Get rid of the last remaining record enum cases.

* More arbitraries. Now almost every frame type is roundrrip tested.

* remove dead code

* clippy

* Add proptest and test-strategy even in wasm

(we don't *run* proptests, but need them to compile)

* Use a feature flag after all...

going in circles...

* Remove claude settings and DRY the proptest attribute.

* Revert "Use a feature flag after all..."

This reverts commit b27add632b.

* Try to get proptest to work in wasm after all

It doesn't need to run tests, just compile.

* Use the right hmac import

* sort dev deps

* Remove some feature flag gated imports

they are not worth it in terms of DRY

* Use test_strategy::Arbitrary by default in frame. It gets used way more often.
2026-01-19 09:35:31 +00:00
2025-12-02 12:11:05 +01:00
2026-01-09 07:35:28 +01:00
2025-03-24 15:57:34 +00:00
2020-01-27 10:21:10 -08:00
2025-12-02 13:24:18 +01:00
2025-12-02 12:39:06 +00:00
2025-02-23 11:52:46 +00:00

Iroh Quinn

This is a fork based on quinn, maintained by n0. Currently published to crates.io under iroh-quinn.

Main differences to upstream quinn

  • Small API improvements
  • Implements additional QUIC extensions
    • Multipath
    • QAD
    • QNT
  • Expanded support for QLOG

Quinn is a pure-rust, async-compatible implementation of the IETF [QUIC][quic] transport protocol.

  • Simultaneous client/server operation
  • Ordered and unordered stream reads for improved performance
  • Works on stable Rust, tested on Linux, macOS and Windows
  • Pluggable cryptography, with a standard implementation backed by [rustls][rustls] and [ring][ring]
  • Application-layer datagrams for small, unreliable messages
  • Future-based async API
  • Minimum supported Rust version of 1.83.0

License

Copyright 2025 The quinn developers Copyright 2025 N0, INC.

This project is licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

S
Description
noq, a QUIC implementation in Rust
Readme 107 MiB
Languages
Rust 99.3%
Python 0.5%
Shell 0.2%