Commit Graph

94 Commits

Author SHA1 Message Date
Dirkjan Ochtman 6cb31438bb Hoist lint configuration to the workspace level 2026-01-12 16:46:28 +01:00
Rüdiger Klaehn 8dfdc04e13 feat: Introduce UnorderedRecvStream newtype (#257)
* Introduce UnorderedRecvStream newtype and remove unordered flag from recv_chunk

The only way to do unordered reads is now via the UnorderedRecvStream.

UnorderedRecvStream duplicates the API of RecvStream related to stream state

* Fix bench

* Update quinn/src/recv_stream.rs

Co-authored-by: Floris Bruynooghe <flub@n0.computer>

* Update quinn/src/recv_stream.rs

Co-authored-by: Floris Bruynooghe <flub@n0.computer>

* Add links to docs.

* Add doc comment to UnorderedRecvStream.

* Remove IllegalOrderedRead in quinn.

We do not remove ReadableError::IllegalOrderedRead in quinn-proto, since
using the current quinn-proto API you can still get it.

So we need to panic in the (single) place where we convert a ReadableError
to a ReadError.

* Move struct definition closer to impl

---------

Co-authored-by: Floris Bruynooghe <flub@n0.computer>
2025-12-15 15:52:45 +00:00
Friedel Ziegelmayer ea9dbb9fb0 feat: expose feature fast-apple-datapath (#204) 2025-12-02 13:13:06 +00:00
Diva M 1b79bec886 Merge commit '3194714f6fa1c78108b2a6353bd3e2af95ce1152' into multipath-quinn-0.11.x-b2b930a-merges 2025-09-30 09:58:30 -05:00
Damien Deville 7aa7c8d79d bench: fix clap help 2025-08-22 13:28:08 +00:00
Damien Deville ce94052e3b bench: refactor parse_byte_size 2025-08-22 13:28:08 +00:00
Floris Bruynooghe 143eb1b815 Merge branch 'main' into multipath-quinn-0.11.x 2025-08-02 17:14:02 +02:00
Dirkjan Ochtman 8339ef3ccc Upgrade rcgen to 0.14 2025-07-02 19:27:49 +00:00
Floris Bruynooghe deba4ee85f Merge branch 'main' into multipath-quinn-0.11.x 2025-04-10 12:36:01 +02:00
Dirkjan Ochtman a8807131e4 Switch to 2024 style 2025-02-23 11:52:46 +00:00
Floris Bruynooghe 4e95af240e Merge commit '2d06eef43fec927b0cf8f960bedb814bf3e4cc79' into iroh-0.11.x 2024-08-07 09:27:20 +02:00
Dirkjan Ochtman 3f489e2eab Use workspace dependencies for all external dependencies 2024-07-14 22:17:01 -07:00
Floris Bruynooghe f13a28921a Rename to iroh-quinn
This does the rename to iroh-quinn for the 0.11.2 release code.
2024-06-21 13:00:40 +02:00
Max Inden 9e2272a477 refactor: use workspace dependency for tracing and tracing-subscriber 2024-06-20 18:23:04 -07:00
Max Inden 8f3f8242c9 fix: remove unused dependency tracing-attributes
Various `quinn*` crates depend on `tracing`. `tracing` in its default feature
set includes `tracing-attributes` in order to expose `#[instrument]` procedural
macro in `tracing::instrument`.

None of `quinn*` make use of the `#[instrument]` macro. Thus the
`tracing-attributes` dependency is unused.

To remove the dependency from the tree, this commit restricts `tracing`'s
`features` to `std`, effectively removing the `attributes` feature.
2024-06-20 18:23:04 -07:00
Benjamin Saunders b42e21e74d Make SendStream::finish synchronous
`await`ing on this was error-prone and not very useful, since it gave
little insight into application state, and was redundant to `stopped`.
2024-05-03 11:52:44 -07:00
Dirkjan Ochtman 272dd5d45f quinn: add proper guards to Endpoint constructor helpers 2024-05-03 11:38:05 -07:00
Dirkjan Ochtman e6d48970af proto: validate ClientConfig crypto provider
Co-authored-by: gabrik <gabriele.baldoni@gmail.com>
2024-04-22 09:45:53 +02:00
Dirkjan Ochtman 3be1ab5ab2 Upgrade to rcgen 0.13 2024-04-22 09:45:53 +02:00
Dirkjan Ochtman a85a4c12ee Update rustls to 0.23 and ring to 0.17 2024-04-22 09:45:53 +02:00
dependabot[bot] d2e9c58044 Update rcgen requirement from 0.11.1 to 0.12.0
Updates the requirements on [rcgen](https://github.com/rustls/rcgen) to permit the latest version.
- [Commits](https://github.com/rustls/rcgen/compare/v0.11.1...v0.12.0)

---
updated-dependencies:
- dependency-name: rcgen
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-18 13:06:24 -08:00
Benjamin Saunders e1e1e6e392 Remove explicit rust-version requirement from unpublished crates 2023-09-24 14:22:14 -07:00
Benjamin Saunders e51f848296 Bump MSRV to 1.65 for let-else 2023-09-24 14:22:14 -07:00
Benjamin Saunders d51b630fcd Add client/server spans to bulk benchmark 2023-09-02 22:30:11 -07:00
Benjamin Saunders 7442da16f9 Enable ACK frequency extension in bulk benchmark 2023-09-02 22:30:11 -07:00
dependabot[bot] 790ff720a9 Update rcgen requirement from 0.10.0 to 0.11.1
Updates the requirements on [rcgen](https://github.com/est31/rcgen) to permit the latest version.
- [Changelog](https://github.com/est31/rcgen/blob/master/CHANGELOG.md)
- [Commits](https://github.com/est31/rcgen/compare/v0.10.0...v0.11.1)

---
updated-dependencies:
- dependency-name: rcgen
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-19 16:20:46 +02:00
Benjamin Saunders 044eab53ff Update clap 2023-05-11 14:10:19 +02:00
Dirkjan Ochtman 1dd88e6883 Update remaining crates to 2021 2023-05-11 04:47:59 +02:00
Benjamin Saunders 092a7686a4 Enable PMTUD by default when appropriate 2023-05-06 08:05:17 +02:00
Adolfo Ochagavía 030a0e8d72 Use mtu instead of max_udp_payload_size in names
Sponsored by Stormshield
2023-05-03 09:29:12 +02:00
Benjamin Saunders f79b31babf Bump MSRV to 1.63
More than six months old, and required by time 0.3.20.
2023-04-24 07:58:42 +02:00
Adolfo Ochagavía 2d48482180 Use PLPMTUD in bench, perf and examples
Sponsored by Stormshield
2023-04-04 17:40:20 -07:00
Daniel McCarney 5d1f7bccf2 deps: upgrade rustls v0.20.3 -> v0.21.0.
This commit updates Quinn's dependency on Rustls from v0.20.3 to
v0.21.0.

This release includes a handful of small breaking changes which are
resolved alongside the upgrade.
2023-04-01 12:18:23 -07:00
Dirkjan Ochtman cbe4b4604d Consistently set rust-version in Cargo metadata 2023-02-27 07:34:35 +01:00
Dirkjan Ochtman 3cc7efbe55 Apply remaining clippy suggestions from clippy 1.67 2023-02-27 07:34:35 +01:00
Dirkjan Ochtman f7354ef6ac Inline format arguments 2023-02-27 07:34:35 +01:00
Dirkjan Ochtman 2c6aa43610 Apply clippy suggestions from Rust 1.66 2022-12-19 10:13:01 -08:00
Benjamin Saunders 5c7f7aabfa Allow initial MTU to be specified in bulk benchmark 2022-11-27 21:23:24 -08:00
Benjamin Saunders 7d51d2e57e Remove Incoming stream in favor of Endpoint::accept 2022-10-23 08:18:42 +02:00
dependabot[bot] f86dd7596d Update rcgen requirement from 0.9.1 to 0.10.0
Updates the requirements on [rcgen](https://github.com/est31/rcgen) to permit the latest version.
- [Release notes](https://github.com/est31/rcgen/releases)
- [Changelog](https://github.com/est31/rcgen/blob/master/CHANGELOG.md)
- [Commits](https://github.com/est31/rcgen/compare/v0.9.1...v0.10.0)

---
updated-dependencies:
- dependency-name: rcgen
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-03 15:29:41 +02:00
Benjamin Saunders 6e4bcbb2fc Drop NewConnection in favor of simpler API 2022-09-27 11:08:26 +02:00
Benjamin Saunders fe93a68108 Replace structopt with its successor, clap 3 2022-07-03 21:02:33 +02:00
matszpk 1d7aa4311d Fixes on bench lib for 32-bit platforms. 2022-06-10 10:17:36 -07:00
Benjamin Saunders c1bd43f3a6 Satisfy clippy 2022-04-08 17:51:22 +02:00
Dirkjan Ochtman 838ad7c471 config: make ClientConfig fields private 2022-02-27 11:03:31 -08:00
Dirkjan Ochtman 5f394099ec Upgrade rcgen to 0.9.1 2022-02-11 13:48:07 -08:00
Benjamin Saunders b2c24d957a Drop futures-util dep from benchmarking tools 2021-12-29 07:34:22 +01:00
Dirkjan Ochtman ee6bbf1d2a Fix clippy suggestions from 1.57 2021-12-10 10:29:12 -08:00
Benjamin Saunders 1159ae3c65 Non-exhaustive ClientConfig 2021-11-10 11:25:19 +01:00
Benjamin Saunders b923c4c8b0 Pass SocketAddr by value
We always consume this by value in the end, and it's a little more
ergonomic.
2021-10-29 20:12:45 +02:00