mirror of
https://github.com/n0-computer/noq.git
synced 2026-09-24 12:13:05 +00:00
1df76577f753afd86f88cd949b434d94a6255fb8
* 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.
tests: Add proptest arbitraries for various quinn-proto types and implement encoder roundtrip tests. (#325)
tests: Add proptest arbitraries for various quinn-proto types and implement encoder roundtrip tests. (#325)
tests: Add proptest arbitraries for various quinn-proto types and implement encoder roundtrip tests. (#325)
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
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
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.
Description
Languages
Rust
99.3%
Python
0.5%
Shell
0.2%