Commit Graph

873 Commits

Author SHA1 Message Date
Ruediger Klaehn 3bd88e48a9 when using GRO/GSO, use a single allocation instead of 32 or whatever 2024-10-16 20:28:18 +03:00
Floris Bruynooghe 2330895383 Export SendDatagram struct to the public API
This is retunred by the public API but was not being provided.  This
export this publicly.
2024-09-26 16:02:15 +00:00
Dirkjan Ochtman 9a656d2d0b Enable use of aws-lc-rs instead of ring 2024-09-24 07:33:03 +00:00
LAN Xingcan 52a088b72a Expose orignial dest cid 2024-09-24 06:55:26 +00:00
Cayman 43a9d768be quinn: export endpoint::EndpointStats 2024-09-19 08:32:18 +00:00
Finn Bear 59bccd2e7e Version bump quinn to enforce patched quinn-proto 2024-09-03 08:10:58 +00:00
Benjamin Saunders c26e8cd2f7 Bump versions 2024-09-02 08:34:10 +00:00
Max Inden 1e00247360 ci: add Android job 2024-08-19 11:43:46 +00:00
Floris Bruynooghe c0b1e281e3 Update Connection::close docs for better guidance
The existing docs were no longer correct and also the suggested
approach is still error prone.  This describes the intricasies of
closing a QUIC connection a bit more.
2024-08-09 08:32:24 +00:00
Benjamin Saunders 79489cb959 Revert "Expose the Handshake Confirmed state"
This was an unintended breaking change.

This reverts commit 391824b9df.
2024-08-04 20:01:39 +00:00
Benjamin Saunders 476f50a4d0 Don't define lints workspace-wide
This seems to break publishing on crates.io.
2024-08-04 06:46:27 +00:00
Dirkjan Ochtman b3f149386f quinn: bump version to 0.11.3 2024-08-02 22:05:45 +00:00
Benjamin Saunders cf445befd3 Exclude metrics with freestanding getters from EndpointStats
The remaining counters are purely monotonic and more conveniently
grouped.
2024-07-29 06:18:10 +00:00
Benjamin Saunders 391824b9df Expose the Handshake Confirmed state
This is convenient for some client authentication use cases, and for
tests to know when it's safe to force a key update.
2024-07-28 23:42:29 +00:00
ryleung-solana a385630eff Introduce EndpointStats 2024-07-28 16:36:16 -07:00
Max Inden 9dbaff0ea1 chore: move common package data to workspace Cargo.toml 2024-07-26 23:46:17 +00:00
Max Inden ce97879e8d refactor: move rust-version to workspace Cargo.toml
Follow-up to suggestion in
https://github.com/quinn-rs/quinn/pull/1939#discussion_r1690309715.
2024-07-25 17:42:33 +00:00
Max Inden 2de91cfd7f chore(quinn): feature flag socket2 imports
The `socket2` imports are only used by the feature flagged `client` function.
Move the imports into the function to be feature flagged as well.

Avoids the following warning:

```
  --> quinn/src/endpoint.rs:28:15
   |
28 | use socket2::{Domain, Protocol, Socket, Type};
   |               ^^^^^^  ^^^^^^^^  ^^^^^^  ^^^^
   |
   = note: `#[warn(unused_imports)]` on by default
```
2024-07-25 17:41:04 +00:00
Dirkjan Ochtman 78fbceecf9 Remove now unused tarpaulin cfgs 2024-07-25 17:37:15 +00:00
Dirkjan Ochtman b8bd3d542d Set unexpected_cfgs for fuzzing 2024-07-25 17:37:15 +00:00
Dirkjan Ochtman 55fd192343 Bump MSRV to 1.70 following tokio 1.39 2024-07-24 20:46:55 -07:00
Max Inden 8712910a4c deps(udp): make tracing optional and add optional log
This commit makes the `tracing` dependency in `quinn-udp` optional, but enabled
by default. In additional it adds optional logging via the `log` crate, enabled
through the `direct-log` feature. `tracing` takes precedence over `native-log`.
2024-07-19 09:58:07 -07:00
TirushOne 411abe9e1c Fix lack of reexport of ConnectionStats and ResetError (#1920) 2024-07-17 17:03:07 +02:00
Dirkjan Ochtman 3f489e2eab Use workspace dependencies for all external dependencies 2024-07-14 22:17:01 -07:00
Dirkjan Ochtman 32c2d914ad Bump MSRV to 1.67 (for cc) 2024-07-12 22:41:01 +02:00
Phoenix Kahlo 693c9b7cfb quinn: Make Endpoint::client dual-stack V6 by default 2024-07-03 17:32:25 -07:00
Phoenix Kahlo 02ed62142d docs(quinn): Revise SendStream.stopped docs comment 2024-07-01 11:24:50 -07:00
Phoenix Kahlo 9366f5e80b docs: Revise and add additionall 0-rtt doc comments 2024-07-01 11:24:50 -07:00
Phoenix Kahlo 715416a025 Fix unnecessary Incoming warning on Endpoint drop 2024-06-30 16:15:13 -07:00
Dirkjan Ochtman c445e9b8ff Upgrade to rustc-hash 2 2024-06-24 13:54:26 -07:00
Benjamin Saunders bc150927d8 Wake blocked streams on 0-RTT rejection 2024-06-23 10:07:03 -07:00
Dirkjan Ochtman 70f5194fc8 quinn: introduce wake_stream() helper 2024-06-23 09:59:12 -07:00
Dirkjan Ochtman 0273e0a704 quinn: introduce wake_all() helper 2024-06-23 09:59:12 -07: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
Dirkjan Ochtman 7b97a3fbd8 Apply clippy suggestions from Rust 1.79 2024-06-13 10:59:05 -07:00
Dirkjan Ochtman 253e63aba4 Bump version numbers (quinn 0.11.2, -proto 0.11.3) 2024-06-07 13:51:24 -07:00
Benjamin Saunders 809cf79336 Resolve stopped/received_reset futures on lost connections
If a connection is lost before a stream becomes closed, these would
otherwise never complete.
2024-06-07 06:41:58 +02:00
Floris Bruynooghe 72ef0c0f16 Support netbsd
NetBSD does not support DONTFRAG or ECN on IPv4, but does for IPv6.
It has recvmmsg.
2024-06-02 11:23:22 -07:00
Benjamin Saunders b55ec29251 Fix panic on multiple incoming connections w/ zero-length IDs 2024-05-30 10:08:41 +02:00
Benjamin Saunders 3437e19a59 Convert test EndpointFactory from tuple struct to braced struct
Groundwork for expanding configurability of common test setup logic.
2024-05-30 10:08:41 +02:00
Benjamin Saunders 772c269c8d Fix panic in example due to unset default crypto provider 2024-05-24 20:43:35 +02:00
Benjamin Saunders fc22ddd7f8 quinn: Introduce RecvStream::received_reset 2024-05-22 14:41:13 -07:00
Benjamin Saunders d38854b0a6 quinn: Return ReadError::Reset persistently
Improves symmetry with `WriteError::Stopped`. The proto layer can't
provide this behavior because it discards stream state, but we have
our own application-owned state and need to defer error reporting
sometimes anyway, so we might as well make this more intuitive.
2024-05-22 14:41:13 -07:00
Benjamin Saunders 299425b324 impl From<StoppedError> for io::Error 2024-05-22 13:10:40 -07:00
Benjamin Saunders e0125c5750 Move impl after the most relevant type 2024-05-22 13:10:40 -07:00
Dirkjan Ochtman 540296c268 Bump version numbers 2024-05-21 21:48:27 +02:00
Dirkjan Ochtman 4bc79dce72 Deduplicate ClosedStream types 2024-05-21 21:48:27 +02:00
Floris Bruynooghe 170a9cda1d Support openbsd
OpenBSD supports ECN on IPv6 but not on IPv4 it seems.  This splits
off the test cases so that IPv6 ECN support is tested in isolation.
2024-05-21 11:31:02 -07:00
Benjamin Saunders f952714dfe quinn: Fix bytes read count in ReadExactError::FinishedEarly
This was counting the number of bytes read in the current `poll`
invocation, rather than the lifetime of the future.
2024-05-20 23:10:08 +02:00