Commit Graph

3653 Commits

Author SHA1 Message Date
Benjamin Saunders 72a0e08e7b Resolve lints 2022-08-16 19:05:23 +02:00
Benjamin Saunders b01ac88806 Define Connection::closed helper to await connection termination
This has come up several times, most recently in
https://github.com/quinn-rs/quinn/issues/1395. While equivalent
behavior is already possible by waiting for e.g. `IncomingUniStreams`
to yield `Err` or `None`, this is substantially more discoverable.
2022-08-16 19:05:23 +02:00
Benjamin Saunders f7203ee382 Disable IP fragmentation on Windows
Prerequisite of enabling PMTUD, and good for conformance besides.
2022-08-01 20:22:27 +02:00
Evan Cameron 5b714a3a5b dont assume socketaddr/ipaddr layout 2022-08-01 10:56:56 -07:00
Lijun Wang 56271fb6ff Squashed commit of the following:
commit 37b30a82406bb06a203df805a8da719ebe87fb37
Author: Lijun Wang <83639177+lijunwangs@users.noreply.github.com>
Date:   Thu Jul 28 17:11:42 2022 -0700

    Fixed some comments from @Ralith
2022-08-01 10:54:46 +02:00
Lijun Wang 24ec886905 Fixed doc link 2022-08-01 10:54:46 +02:00
Lijun Wang 1f5977450a Doc fix 2022-08-01 10:54:46 +02:00
Lijun Wang ced7717bc5 Added unit tests and update pending.max_data 2022-08-01 10:54:46 +02:00
Lijun Wang 7ae6a9d75b Remove stream_receive_window per connection config 2022-08-01 10:54:46 +02:00
Lijun Wang 1274832787 remove mut 2022-08-01 10:54:46 +02:00
Lijun Wang 1cfa19284a Open set_receive_window in public Connection class 2022-08-01 10:54:46 +02:00
Lijun Wang 5c990b9175 Correct the exiting stream's max_stream_data 2022-08-01 10:54:46 +02:00
Lijun Wang ed62018de8 Made receive_window and stream_receive_window tweakable per connection on server side 2022-08-01 10:54:46 +02:00
Thomas Karpiniec 065d7c3520 Revert "Enable JS random support in quinn-proto for wasm32"
This reverts commit 3708427ff57262cd0bea15716617707152bb6cad.
2022-07-23 12:23:36 +02:00
Thomas Karpiniec f49a91e0fb Fix failing type inferences in wasm32-unknown-unknown 2022-07-23 12:23:36 +02:00
Thomas Karpiniec bd9bcb9bb1 Prevent build warning when ring feature unused 2022-07-23 12:23:36 +02:00
Thomas Karpiniec c9f2dafc83 Enable JS random support in quinn-proto for wasm32 2022-07-23 12:23:36 +02:00
Benjamin Saunders 18f00de385 Deduplicate helper wrt. socket2 2022-07-05 09:06:31 -07:00
Benjamin Saunders ffa85f2c43 Abstract out async runtime
Co-authored-by: Yureka <yuka@yuka.dev>
2022-07-05 09:06:31 -07:00
Benjamin Saunders 9f948d5a5f Factor async handling out of quinn-udp 2022-07-05 09:06:31 -07:00
Benjamin Saunders 16ed21b0cc Bump edition on quinn and quinn-proto 2022-07-05 09:06:31 -07:00
Benjamin Saunders fe93a68108 Replace structopt with its successor, clap 3 2022-07-03 21:02:33 +02:00
Benjamin Saunders ac46cc1e51 Fix Linux DF bit setting for IPv6-mapped IPv4 addresses 2022-07-03 19:40:34 +02:00
Benjamin Saunders 3bc6bdae89 Bump MSRV to 1.57
This is >6 months old and should address the CI failure.
2022-07-03 08:07:54 +02:00
Benjamin Saunders ae4be5a22c Allow initial maximum UDP payload size to be configured 2022-07-01 10:52:20 -07:00
Dirkjan Ochtman cd00119d25 book: clean up whitespace 2022-06-13 08:56:21 -07:00
Dirkjan Ochtman 2bf23d6b33 book: clean up example certificate code 2022-06-13 08:56:21 -07:00
Dirkjan Ochtman 0db9064d06 udp: silence warnings on macOS 2022-06-13 08:56:21 -07:00
IchHabeKeineNamen 02d6010375 fix: read PEM certificates/keys by rustls_pemfile
Address the issue https://github.com/quinn-rs/quinn/issues/1367
2022-06-13 10:35:55 +02:00
matszpk 1d7aa4311d Fixes on bench lib for 32-bit platforms. 2022-06-10 10:17:36 -07:00
Melvin Wang 4395b969a6 update talk slides link 2022-05-30 09:50:59 -07:00
Alessandro Decina eab6af580c Increase GRO segments to 64
The GRO segment size (what we call stride), is set dynamically depending
on the first datagram that starts a GRO list [0]. Unless the receive
buffer passed to recvmmsg() is an exact multiple of the segment size,
segments could be truncated since recvmmsg() will happily fill the whole
buffer it's given regardless of whether it's aligned to segment
boundaries or not.

Bump the value returned by gro::gro_segments() to the maximum allowed by
the kernel so that get_max_udp_payload_size() * gro::gro_segments() will
always be large enough to hold the largest GRO list the kernel might
produce, so that recvmmsg() will never truncate.

[0]: https://github.com/torvalds/linux/blob/1e8a3f0d2a1ef544611a7ea4a7c1512c732e0e43/net/core/gro.c#L543
2022-05-09 22:03:28 -07:00
Alessandro Decina 29d3932953 Enable UDP GRO (#1350) 2022-05-05 22:07:52 +02:00
Alessandro Decina dfa4f0e296 connection: change overly verbose info span to debug 2022-05-05 21:42:05 +02:00
dependabot[bot] 7ef7a5c66b Update crc requirement from 2 to 3
Updates the requirements on [crc](https://github.com/mrhooray/crc-rs) to permit the latest version.
- [Release notes](https://github.com/mrhooray/crc-rs/releases)
- [Commits](https://github.com/mrhooray/crc-rs/compare/2.0.0...3.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-25 16:00:26 +02:00
dependabot[bot] 16769e3fa9 Update rustls-pemfile requirement from 0.3.0 to 1.0.0
Updates the requirements on [rustls-pemfile](https://github.com/rustls/pemfile) to permit the latest version.
- [Release notes](https://github.com/rustls/pemfile/releases)
- [Commits](https://github.com/rustls/pemfile/compare/v/0.3.0...v/1.0.0)

---
updated-dependencies:
- dependency-name: rustls-pemfile
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-18 15:28:52 +02:00
Yureka 7248b126ba remove mio dependency 2022-04-15 11:09:31 -07:00
Benjamin Saunders c1bd43f3a6 Satisfy clippy 2022-04-08 17:51:22 +02:00
Benjamin Saunders 6fc46aefc6 Discard retry token when no longer needed 2022-03-30 21:10:29 +02:00
Benjamin Saunders 5375279f5a Don't discard expected retry token mid-handshake 2022-03-30 21:10:29 +02:00
Benjamin Saunders 46f7bb1a5b Clarify use of retry token stored in Handshake state 2022-03-30 21:10:29 +02:00
Benjamin Saunders 15d7ffbfc3 Set retry token on every outgoing Initial, in any state 2022-03-30 21:10:29 +02:00
Benjamin Saunders b95aa02dc5 Remove superfluous Option 2022-03-30 21:10:29 +02:00
Benjamin Saunders e1494d348c Drop Initials with invalid retry token 2022-03-30 21:10:29 +02:00
Benjamin Saunders 77302c2ab6 Add unit test covering malformed token lengths 2022-03-28 01:55:39 -07:00
Benjamin Saunders 8d48198c41 Fix handling of invalid retry token lengths 2022-03-28 01:55:39 -07:00
Csányi István 0e940e11e9 Fix incorrect code 2022-03-28 10:02:22 +02:00
James Higgins e10075cf2f docs: Update the client certificates example to a working config (#1328) 2022-03-19 02:51:02 +01:00
Benjamin Saunders 88f65bd2a8 Allow adjustment of per-connection concurrent stream limits 2022-03-18 11:12:51 -07:00
Benjamin Saunders 214b34a7ec Update mio to 0.8
Avoids duplicating the dependency with tokio
2022-03-06 07:24:31 +01:00