Dirkjan Ochtman
6cb31438bb
Hoist lint configuration to the workspace level
2026-01-12 16:46:28 +01:00
Franz Heinzmann
abbe27bf07
feat!: update qlog to latest drafts, add more events and QUIC extensions, emit traces per connection ( #208 )
...
* refactor: upgrade to latest n0-qlog
* feat: record path id
* feat: add qlog support for multipath frames
* support more frames and error codes
* feat: add support for quic-address-discovery and quic-ack-frequency extensions
* feat: support iroh's NAT traversal extension
* feat: emit TupleAssigned for new paths
* fixup
* chore: update to latest n0-qlog
* feat: emit TransportParameters
* chore: clippy
* deps: update to n0-qlog 0.1.0
* refactor: add qlog factory, move group_id to common_fields
* docs: improve
* chore: clippy
* fixup
* feat: add QlogFileFactory and util methods on TransportConfig
* feat: reexport from quinn
* chore: clippy
* feat: qlog timers
* add more timers
* docs: improve
* refactor: disable keep alive timers in qlog to reduce noise
* address review
* fix: downgrade logging
* cleanup
* fixup naming
---------
Co-authored-by: Friedel Ziegelmayer <me@dignifiedquire.com >
2025-12-06 10:07:30 +00:00
dignifiedquire
c8a655c4b4
Merge remote-tracking branch 'upstream/main' into chore-merge-upstream
2025-12-01 14:08:32 +01:00
Diva M
1b79bec886
Merge commit '3194714f6fa1c78108b2a6353bd3e2af95ce1152' into multipath-quinn-0.11.x-b2b930a-merges
2025-09-30 09:58:30 -05:00
Phoenix Kahlo
1350132407
refactor: Pass ConnectionId by value
...
Breaking.
2025-09-06 20:08:59 +00:00
Dirkjan Ochtman
80b8ffdb4b
Use newer rustls-pki-types PEM parser API
2025-09-02 17:46:40 +00:00
Dirkjan Ochtman
e4f0550b29
perf: move main() above Cli
2025-08-31 17:48:31 +00:00
Damien Deville
a9d4377db2
perf: add a feature to enable profiling with tokio-console
2025-08-28 08:15:31 +00:00
Dreamacro
f5632ce2ee
perf: move client and server on one binary
2025-08-26 05:36:31 +00:00
Dreamacro
c7bdfa2b8f
perf: add max udp payload size option
2025-08-25 02:36:16 +00:00
Damien Deville
8ba63e4d71
perf: allow setting send / receive connection or stream windows
2025-08-22 13:28:08 +00:00
Damien Deville
325b4e0e42
perf: support SI units for the various size parameters
2025-08-22 13:28:08 +00:00
Damien Deville
7d59865ffe
perf: factorize init of tracing
2025-08-20 10:51:43 +00:00
Damien Deville
7825e9d39e
perf: used buffered writer for qlog stream
2025-08-20 10:51:43 +00:00
Damien Deville
0c8b65fd42
perf: factorize socket binding
2025-08-20 10:51:43 +00:00
Damien Deville
c5da14658a
perf: factorize common options
2025-08-20 10:51:43 +00:00
Floris Bruynooghe
143eb1b815
Merge branch 'main' into multipath-quinn-0.11.x
2025-08-02 17:14:02 +02:00
Benjamin Saunders
1c6aecc683
Stabilize qlog feature
2025-07-22 00:53:03 +00:00
Benjamin Saunders
25b5dcd569
Configure qlog in TransportConfig
2025-07-22 00:53:03 +00:00
Fabien Savy
56b68df635
add qlog option to perf
2025-07-04 07:57:47 +00:00
Dirkjan Ochtman
8339ef3ccc
Upgrade rcgen to 0.14
2025-07-02 19:27:49 +00:00
Damien Deville
62bc881b9a
perf: leave async tasks early
2025-06-30 08:12:54 +00:00
Damien Deville
a8eba3ada6
perf: allow selecting congestion algorithm
2025-06-30 08:12:54 +00:00
Damien Deville
1678ada26d
perf: allow configuring ack frequency
2025-06-30 08:12:54 +00:00
Damien Deville
abd1be051b
perf: allow setting initial round trip time
2025-06-30 08:12:54 +00:00
Floris Bruynooghe
deba4ee85f
Merge branch 'main' into multipath-quinn-0.11.x
2025-04-10 12:36:01 +02:00
Lars Eggert
83b48b5b87
feat: Allow changing the UDP send/receive buffer sizes
...
Also includes getters for the current sizes and a test.
Bump version to 0.5.11.
2025-03-25 08:20:27 +00:00
Dirkjan Ochtman
a8807131e4
Switch to 2024 style
2025-02-23 11:52:46 +00:00
Divma
c04b6a9fbb
take advantage of the fact that packet protection with and without multipath is equivalent for Path(0) ( #39 )
2025-01-27 11:56:27 -05:00
Divma
af1b428d4e
include path_id in packet protection ( #36 )
2025-01-24 11:29:06 -05:00
Dirkjan Ochtman
43b74b658b
proto: replace hidden field with From impl
2024-12-20 19:34:28 +00:00
Lars Eggert
f8b8c5032e
chore: Fix cargo clippy issues
2024-11-18 23:31:18 +00: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
gabrik
ce13559778
proto: validate ServerConfig crypto provider
...
Signed-off-by: gabrik <gabriele.baldoni@gmail.com >
2024-04-22 09:45:53 +02: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
Dirkjan Ochtman
f0d1a45639
perf: hoist config construction out of conditionals
2024-04-22 09:45:53 +02:00
Dirkjan Ochtman
85351bc399
proto: remove the Side argument from ServerConfig::initial_keys()
2024-04-22 09:45:53 +02:00
Damien Deville
90118e76b3
perf: change throughput units from MiB/s into Mb/s.
2024-04-18 19:26:36 +02:00
Phoenix Kahlo
54d5d60b42
Allow accept/refuse/retry before handshake begins
...
This commit removes use_retry from the server config and provides a
public API for the user to manually accept/refuse/retry incoming
connections before a handshake begins, and inspect properties such as
an incoming connection's remote address and whether that address is
validated when doing so.
In quinn-proto, Incoming is made public, as well as Endpoint's accept/
refuse/retry methods which operate on it. The
DatagramEvent::NewConnection event is modified to return an incoming
but not yet accepted connection.
In quinn, awaiting Endpoint::accept now yields a new
quinn::Incoming type, rather than quinn::Connecting. The new
quinn::Incoming type has all the methods its quinn_proto equivalent has,
as well as an accept method to (fallibly) transition it into a
Connecting, and also refuse, retry, and ignore methods.
Furthermore, quinn::Incoming implements IntoFuture with the output type
Result<Connection, ConnectionError>>, which is the same as the Future
output type of Connecting. This lets server code which was
straightforwardly awaiting the result of quinn::Endpoint::accept work
with little to no modification.
The test accept_after_close was removed because the functionality it
was testing for no longer exists.
2024-04-03 10:02:29 +02:00
Benjamin Saunders
044eab53ff
Update clap
2023-05-11 14:10:19 +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
Adolfo Ochagavía
74d3689962
Fix no-protection option in perf crate
...
Sponsored by Stormshield
2023-04-26 13:18:42 -07:00
Dirkjan Ochtman
3eb26361db
quinn: take Arc<dyn Runtime> directly
2023-04-14 16:08:01 -07:00
Adolfo Ochagavía
2d48482180
Use PLPMTUD in bench, perf and examples
...
Sponsored by Stormshield
2023-04-04 17:40:20 -07:00
Dirkjan Ochtman
3cc7efbe55
Apply remaining clippy suggestions from clippy 1.67
2023-02-27 07:34:35 +01:00
Damien Deville
390f2ebeba
Add a special crypto session to perf binaries to disable packet
...
encryption / decryption. It can be enabled using --no-protection
command line option. This can be use when doing performance
tests to reveal other hotspots than packet encryption and
decryption.
2023-01-26 22:47:53 -08:00
Dezhi Wu
6e1442370b
Fix usage message
2023-01-26 22:38:52 -08:00