Commit Graph

1761 Commits

Author SHA1 Message Date
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
Benjamin Saunders 06f0a3e292 Fix stream ID flow control deadlock 2019-10-22 10:10:55 +02:00
Benjamin Saunders 458613e7bb Allow PING at every encryption level
See https://github.com/quicwg/base-drafts/pull/3035
2019-10-16 07:00:34 +02:00
dependabot-preview[bot] 89cd5d06e5 Update webpki-roots requirement from 0.17 to 0.18
Updates the requirements on [webpki-roots](https://github.com/ctz/webpki-roots) to permit the latest version.
- [Release notes](https://github.com/ctz/webpki-roots/releases)
- [Commits](https://github.com/ctz/webpki-roots/compare/v/0.17.0...v/0.18.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-14 07:39:19 +02:00
jean-airoldie 1d59323eb6 Added debug impl to various structs 2019-10-13 11:29:40 +02:00
Benjamin Saunders a0d4b36a17 Fix stream ID leak when stream opening futures are dropped
By deferring allocation of the stream ID until the futures
synchronously completes, we guarantee that either no ID is allocated
or ownership is successfully taken by the Send/RecvStream struct(s).
2019-10-12 08:14:35 -07:00
jean-airoldie 6d069ca8eb Impl Debug for various types
Impl fmt::Debug for
* {Send,Recv}Stream
* ConnectionRef
* ConnectionDriver
2019-10-10 10:12:34 +02:00
Dirkjan Ochtman afc18262af Upgrade to err-derive 0.2 2019-10-09 09:09:54 +02:00
Benjamin Saunders 2aeaa798a3 Remove stray dbg 2019-10-04 18:48:46 -07:00
stammw 2bb13fa6c5 H3: Filter control frame types for client or server 2019-10-04 15:28:42 +02:00