Commit Graph

3535 Commits

Author SHA1 Message Date
dignifiedquire 2bbe8e76d9 bump msrv 2024-05-17 16:01:18 +02:00
dignifiedquire e716cae17b add wasm build ci 2024-05-17 15:57:33 +02:00
dignifiedquire cb811bd225 add wasm runtime 2024-05-17 15:53:22 +02:00
dignifiedquire 5f8cc801c6 fix time 2024-05-17 15:38:46 +02:00
dignifiedquire 8e16fe6ceb quinn-udp and quinn-proto compile 2024-05-17 15:01:11 +02:00
Dirkjan Ochtman 8bd0600089 proto: support creating config wrappers from Arc-wrapped configs 2024-05-14 18:53:52 +02:00
Dirkjan Ochtman 690736cb2f proto: add rustls constructors with explicit initial 2024-05-14 18:53:52 +02:00
Benjamin Saunders 393b617ef1 Use previous path CID for previous path validation 2024-05-12 20:45:07 -07:00
Benjamin Saunders e0a15513fc Store active CID with previous path 2024-05-12 20:45:07 -07:00
Benjamin Saunders 664d341007 Pass destination CID explicitly to PacketBuilder
Groundwork for breaking linkability when transmitting off-path.
2024-05-12 20:45:07 -07:00
Benjamin Saunders aeb520cf36 Remove redundant version argument 2024-05-12 20:45:07 -07:00
Benjamin Saunders d613895194 Invert condition to reduce rightward drift 2024-05-12 11:13:39 +02:00
Benjamin Saunders 4416e03d93 Remove newly redundant branch 2024-05-12 11:13:39 +02:00
Benjamin Saunders 7db395b1e7 Fold 0-RTT send readiness check into initial branch 2024-05-12 11:13:39 +02:00
Benjamin Saunders 04c049d52c Fold can_send_1rtt check into initial branch 2024-05-12 11:13:39 +02:00
Benjamin Saunders b2784e970a Remove redundant branch
When this check fails, indicating that `can_send ==
SendableFrames::empty()`, we return `SendableFrames::empty()` anyway.
2024-05-12 11:13:39 +02:00
Benjamin Saunders 1d73078d79 Test voluntary acks when sending max-size datagrams 2024-05-09 13:51:09 +02:00
Benjamin Saunders a35ad73f97 Bump version 0.11.1 2024-05-08 23:21:39 +02:00
Benjamin Saunders 50708cf120 Test interaction between large datagram frames and ACKs 2024-05-08 23:21:39 +02:00
Benjamin Saunders 55be92985a Fix empty packets when segment size is too small for queued data
The prior logic could even produce panics if segment size falls below
MIN_PACKET_SPACE.
2024-05-08 23:21:39 +02:00
Benjamin Saunders d52e7f6cb0 Suppress ACK-only packet sanity-check when datagrams are queued 2024-05-08 23:21:39 +02:00
Benjamin Saunders f0dff01d4f Fail GSO truncation test if packets are lost 2024-05-08 20:24:49 +02:00
叶落寒塘 23f9f45228 Fix corruption of trailing packet in truncated GSO batch 2024-05-08 20:24:49 +02:00
Dirkjan Ochtman 1e547588e8 quinn: alphabetize default features 2024-05-07 11:21:24 +02:00
Benjamin Saunders 359c0c7dae Add ring to default features
Required for `Endpoint::{client, server}` and various other helpers
intended to simplify getting started.
2024-05-07 11:21:24 +02:00
Benjamin Saunders 0e9a19665a Rename UnknownStream to ClosedStream for clarity 0.11.0 2024-05-03 11:52:44 -07:00
Benjamin Saunders 130d956efc Don't treat UnknownStream as an error in SendStream::stopped
UnknownStream here corresponds to graceful stream shutdown, which is
not an error case.
2024-05-03 11:52:44 -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 f28cb3d8d6 Check compilation without default features in CI
Other workspace members enable some features, so check in isolation.
2024-05-03 11:38:05 -07:00
Dirkjan Ochtman 272dd5d45f quinn: add proper guards to Endpoint constructor helpers 2024-05-03 11:38:05 -07:00
Dirkjan Ochtman 74c035822b quinn: UdpPoller::new() is only called if a runtime is enabled 2024-05-03 11:38:05 -07:00
Dirkjan Ochtman faf7dbc051 quinn: require rustls for insecure_connection example 2024-05-03 11:38:05 -07:00
Dirkjan Ochtman e764fe48ce proto: remove incorrect feature guard
`HashedConnectionIdGenerator::new()` uses the mandatory rand crate to
generate a key by default, not the *ring* crate.
2024-05-03 11:38:05 -07:00
Dirkjan Ochtman 7af5296dc3 proto: guard rustls-specific types 2024-05-03 11:38:05 -07:00
Dirkjan Ochtman de3f63737b Apply clippy suggestions from Rust 1.78 2024-05-03 16:11:44 +02:00
Dirkjan Ochtman 5b722706b3 proto: take advantage of rustls::quic::Suite being Copy 2024-05-02 15:39:30 -07:00
Benjamin Saunders d5fc528930 Truncate GSO when necessary to avoid excessive padding 2024-05-01 09:41:03 -07:00
Benjamin Saunders 003b1d54b5 Don't try to send datagrams that won't fit in a GSO batch 2024-05-01 09:41:03 -07:00
Benjamin Saunders 9d8ee9f068 Factor packet overhead math out of Datagrams::max_size 2024-05-01 09:41:03 -07:00
Benjamin Saunders ad4919babc Match GSO segment size to the first datagram, not the MTU
Reduces the amount of padding required when sending homogeneously
sized non-fragmentable data like application datagrams.
2024-05-01 09:41:03 -07:00
Benjamin Saunders bbff686a32 Factor GSO segment size out into a local variable 2024-05-01 09:41:03 -07:00
Benjamin Saunders fe6989bdf4 Track starting offset of the current datagram explicitly 2024-05-01 09:41:03 -07:00
Benjamin Saunders 8c89b79e15 Delete dead comment 2024-05-01 09:33:38 -07:00
Benjamin Saunders 3089e8739a Additional trace logs 2024-05-01 09:33:38 -07:00
Benjamin Saunders ff8609b6d4 Verify that GSO is used for simple large streams 2024-05-01 09:33:38 -07:00
Benjamin Saunders c76c378aaa Fix unit test time travel
The current system time must only be sampled once to establish the
unit test epoch. Because test time doesn't advance unless told to,
this was causing connections to sometimes receive packets from before
they were created, causing odd warnings and potentially other
unintended behavior.
2024-05-01 09:33:38 -07:00
Benjamin Saunders 7056581575 Fix loss detection timer sometimes lingering after close 2024-05-01 09:33:38 -07:00
Benjamin Saunders 6053163874 Use RAII span guard in PacketBuilder
Prevents spans from leaking when packets aren't finished
2024-05-01 09:33:38 -07:00
Benjamin Saunders 7b2351556b Drop outgoing datagrams forbidden by current MTU 2024-05-01 09:33:38 -07:00
Benjamin Saunders e4f2629af2 Notify congestion control of MTU reductions 2024-05-01 09:33:38 -07:00