mirror of
https://github.com/n0-computer/noq.git
synced 2026-10-03 12:40:46 +00:00
2cc515adbc1215d40d9916ad2b27546d6df6c3f3
* split up poll_transmit per path and per space * refactor: return last_packet_number * cleanup status enums * refactor: streamline mtu probe building * refactor: extract remote cid exhaustion handling into function * refactor: move remote_cid check per path * refactor: simplify send space check * fixup * docs(proto): describe enums * wip * friday was too short. make it work, maybe * Do coalescing right * tweak comments, logs * remove redundant size-setting * fix path scheduling description, add bug description * fixup path stats * wording, wording * weird off path enum variants are no longer needed! * fix fmt * Make TransmitBuf in each loop and collate off-path work This make the construction of the TransmitBuf a little less weird, but still a bit weird. * Consistent naming for now * missing rename * fix merge * Pass around a Vec while no transmit has been started yet * expand on what is meant here, link to new issue * pointless return --------- Co-authored-by: dignifiedquire <me@dignifiedquire.com> Co-authored-by: Diva Martínez <26765164+divagant-martian@users.noreply.github.com> Co-authored-by: Diva Martínez <git@divma.net>
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%