Commit Graph

2620 Commits

Author SHA1 Message Date
Benjamin Saunders 9522b44600 Remove quinn-proto rustls config newtypes
These were not successful at removing rustls from our public API, and
made specifying custom cryptographic configurations
unintuitive. Removing them reduces the scope of our public API while
preserving the friendliness of the high-level quinn API.
2019-11-23 20:20:54 +01:00
Demi Obenour 3230678055 Expose the peer address of a Connecting (#517)
Expose the peer address of a `Connecting`
2019-11-21 16:03:24 -08:00
Benjamin Saunders 5dc8f22f24 Don't create new connections if we're running low on connection IDs 2019-11-21 21:26:07 +01:00
Benjamin Saunders 8d178f94da Remove subcrate-specific profile config
Cargo ignores these.
2019-11-21 21:26:07 +01:00
Demi M. Obenour 03a1b5b451 Fix the hyper upstream repository
Otherwise `cargo update` fails.

Fixes #514
2019-11-21 21:24:39 +01:00
Dirkjan Ochtman 63565701a7 Prevent use of problematic array::into_iter() 2019-11-21 07:42:44 -08:00
Benjamin Saunders 9b0f175223 Use sendmmsg to reduce system call overhead 2019-11-21 11:26:36 +01:00
Benjamin Saunders bc813f7713 Include debug info in release builds for easier profiling
This shouldn't affect downstream crates.
2019-11-21 09:07:36 +01:00
Benjamin Saunders 3ffa250b35 Add minimal self-contained benchmark for easy profiling 2019-11-21 09:07:36 +01:00
Benjamin Saunders 4902bfe6ba Use anyhow instead of failure in examples
Anyhow was already in our depgraph and is more modern and actively
maintained.
2019-11-19 11:46:43 -08:00
Benjamin Saunders 9523457c59 Remove nightly-only rustfmt.toml
This spams errors on `cargo fmt` under stable, unfortunately.
2019-11-19 20:01:49 +01:00
Benjamin Saunders 93690aa4c9 Fix buggy non-async-style tracing span in server example 2019-11-19 20:01:49 +01:00
Timon Post 9cb793a770 added pub (crate) 2019-11-19 08:11:08 -08:00
Benjamin Saunders ecede30442 Validate datagram size limit after 0-RTT 2019-11-19 08:29:57 +01:00
Benjamin Saunders f18b95bbd7 Move 0-RTT transport param validation to helper method 2019-11-19 08:29:57 +01:00
Timon Post ac810125c1 merge imports 2019-11-19 08:23:35 +01:00
Dirkjan Ochtman 235dbe44f2 Implement key updates without rustls support 2019-11-18 10:07:18 -08:00
Benjamin Saunders 3c3d69b582 Don't increase the congestion window unless it was full
Prevents unbounded congestion window growth during periods of low
activity wrt. link capacity.
2019-11-18 09:34:19 +01:00
Benjamin Saunders f33a4841b5 Simplify congestion_blocked predicate 2019-11-18 09:34:19 +01:00
Benjamin Saunders 375f9b6ae8 Borrowing datagram futures
ConnectionRef::clone was 7% of runtime for the small datagram
benchmark.
2019-11-17 07:12:27 +01:00
Benjamin Saunders 3f36be64af Drop truncated UDP packets
These would fail decryption anyway, so this saves us some CPU.
2019-11-17 07:10:51 +01:00
Benjamin Saunders 76875b7af5 Remove lingering uses of FNV hashing 2019-11-16 15:12:35 -08:00
Benjamin Saunders d7e43be6dd Replace webpki-roots with optional native certificate store use 2019-11-16 21:58:49 +01:00
Benjamin Saunders da08f06e35 More robust local_addr test 2019-11-16 20:17:59 +01:00
Benjamin Saunders ec576047e0 Benchmark packet-sized application datagrams 2019-11-16 20:17:59 +01:00
stammw 16c3f25eef Clippy fixes 2019-11-15 20:29:55 +01:00
stammw 06db4fb757 H3: fix freshly type-resolved incoming uni streams handling 2019-11-15 20:29:55 +01:00
stammw a8eb51b01c H3: Fix driver polling story trivially 2019-11-15 20:29:55 +01:00
Benjamin Saunders e3697534de Address come clippy issues 2019-11-09 15:47:17 +01:00
Benjamin Saunders 1dc72758b0 Switch CI back to stable 2019-11-09 15:47:17 +01:00
Benjamin Saunders f2c44bb304 Only check for initial CID in initial packets 2019-11-02 21:12:17 +01:00
Benjamin Saunders b681f52ab6 Remove fnv hash
This had no visible performance benefit and may have created a HashDoS
vulnerability.
2019-11-02 21:12:17 +01:00
Benjamin Saunders f91df78e77 Tweak benchmarks
Improves comparison between streams and datagrams
2019-11-02 21:11:33 +01:00
stammw cf2c46abd9 H3: move ErrorCode to proto 2019-10-30 21:33:11 +01:00
stammw efde8638c2 H3: better error reason when control stream closed 2019-10-30 21:33:11 +01:00
stammw c2cbffc483 H3: request cancellation and rejection 2019-10-30 21:33:11 +01:00
stammw ec67124482 H3: Rename ReadToEnd's State 2019-10-30 21:33:11 +01:00
stammw d4caaf5cd4 H3: issue quic stream errors and reset streams 2019-10-30 21:33:11 +01:00
stammw 51e5aaebbc H3: typo in ResponseBuilder name 2019-10-30 21:33:11 +01:00
stammw 0972700dab H3: rename RecvRequestState finished variant 2019-10-30 21:33:11 +01:00
stammw f170a89922 H3: GO_AWAY implementation 2019-10-30 21:33:11 +01:00
stammw a570f17daa H3: track ongoing requests 2019-10-30 21:33:11 +01:00
stammw 46102d07f2 H3: throw an error when client recieves a BiStream 2019-10-30 21:33:11 +01:00
stammw 0bec6eac8e H3: immediately close quic connection on fatal errors 2019-10-30 21:33:11 +01:00
Benjamin Saunders a957bf4aa2 Replace slog with tracing 2019-10-29 10:36:50 +01:00
Benjamin Saunders 84d44e40a1 Clarify small stream benchmark character
Hopefully this will reduce apples-to-oranges comparisons with
datagrams.
2019-10-24 10:27:32 +02:00
Benjamin Saunders eba7b65bff Benchmark datagrams 2019-10-24 10:27:32 +02:00
Benjamin Saunders 6ddcc51a58 More consistent datagram-related parameter naming 2019-10-24 10:27:32 +02:00
Benjamin Saunders 5fbbf4c8f3 Limit outgoing datagram buffer size 2019-10-24 10:27:32 +02:00
Benjamin Saunders bc3e5af68b Refactor benchmarks 2019-10-22 10:10:55 +02:00