Benjamin Saunders
851daec044
Implement simple API
2019-09-28 11:54:08 -07:00
Benjamin Saunders
9c4b21d1e8
Refactor interop tool
2019-09-28 10:23:26 +02:00
Benjamin Saunders
eef7900280
Run CI on nightly
2019-09-28 10:23:26 +02:00
stammw
f5e014dae1
h3: std futures
2019-09-28 10:23:26 +02:00
Benjamin Saunders
82b9455caf
Use multithreaded tokio runtime for server example
...
Illustrates our support for more typical tokio patterns
2019-09-28 10:23:26 +02:00
Benjamin Saunders
d07dc907ad
Update for async/await
2019-09-28 10:23:26 +02:00
Benjamin Saunders
399aa2f95a
Respect congestion control while handshaking
...
Not sure why we weren't doing this, but as far as I can tell it's
required.
2019-09-25 09:00:35 +02:00
Benjamin Saunders
0dc23afb85
Test tail loss recovery under congestion
2019-09-25 09:00:35 +02:00
Benjamin Saunders
c011e239f5
Draft 23 handshake retransmit, data-bearing probes
...
Modifies our probe strategy to retransmit in-flight data rather than
sending a PING frame. This gives us a chance of accelerated loss
recovery and allows adoption of the new draft's simplified handshake
retransmit logic.
2019-09-25 09:00:35 +02:00
Dirkjan Ochtman
2afe7f597d
Update initial salt and QUIC version to draft 23
2019-09-23 12:25:08 -07:00
Benjamin Saunders
03c3013a52
Draft 23 initial_rtt and PTO
2019-09-22 11:52:20 +02:00
Benjamin Saunders
19c7744c88
Less confusing server behavior on empty Initial
2019-09-22 11:52:20 +02:00
Benjamin Saunders
bb81d7eac8
Relax RTT update validation per current reliability draft
2019-09-22 11:52:20 +02:00
Benjamin Saunders
0e6e15ec54
Apply transport parameter grease
2019-09-22 11:52:20 +02:00
Benjamin Saunders
1c825640da
Add successful ALPN negotiation test
2019-09-19 08:34:35 +02:00
Benjamin Saunders
9cbf6ea936
Use a valid ALPN configuration in 0-RTT rejection test
2019-09-19 08:34:35 +02:00
Benjamin Saunders
148e549e8b
NEW_TOKEN from a client is a PROTOCOL_VIOLATION
2019-09-19 08:34:35 +02:00
Benjamin Saunders
3b01662324
Retransmit 0-RTT on receiving Retry
...
Receipt of a Retry packet indicates that the server will not process
any data until it receives our next Initial, so previously sent 0-RTT
data is almost certainly lost, bar unlikely reordering. Immediately
retransmitting it is therefore a free performance win.
2019-09-19 08:34:35 +02:00
Benjamin Saunders
38666e799c
Enable ECN on migration even if we'd previously given up, NATs aside
2019-09-19 08:34:35 +02:00
Benjamin Saunders
60f0d6c7fa
Ack Delay must only be used for intentional delays
...
We currently always attempt to send acknowledgements immediately.
2019-09-19 08:34:35 +02:00
Benjamin Saunders
0efdce97f9
Recover congestion/rtt state after path validation failure
2019-09-19 08:34:35 +02:00
Benjamin Saunders
ac2540651f
Improve handling of double migration
2019-09-19 08:34:35 +02:00
Benjamin Saunders
26b01e9662
Don't increase the congestion window on unvalidated paths
...
Improves our compliance with the defenses against peer address
spoofing in the draft.
2019-09-19 08:34:35 +02:00
Benjamin Saunders
4d065b9028
Update comments
2019-09-19 08:34:35 +02:00
Benjamin Saunders
acfdb48899
Draft 23 stateless resets
2019-09-18 07:29:34 +02:00
Benjamin Saunders
22895c559e
Implement off-path packet forwarding countermeasure
2019-09-18 07:29:34 +02:00
Benjamin Saunders
6c7889d06b
Don't initiate migrations due to reordered packets
2019-09-18 07:29:34 +02:00
Benjamin Saunders
e0634cc229
Don't close the connection due to an illegal migration
...
See https://github.com/quicwg/base-drafts/pull/2893 .
2019-09-18 07:29:34 +02:00
Benjamin Saunders
e3c9fca34e
Fix bad behavior opening streams on a closed connection
...
The low-level API would unintuitively appear to succeed until the
window is exhausted, at which point the high-level API would yield
futures that would never resolve.
2019-09-18 06:52:44 +02:00
dependabot-preview[bot]
0fd2419e0f
Update rcgen requirement from 0.6 to 0.7
...
Updates the requirements on [rcgen](https://github.com/est31/rcgen ) to permit the latest version.
- [Release notes](https://github.com/est31/rcgen/releases )
- [Changelog](https://github.com/est31/rcgen/blob/master/CHANGELOG.md )
- [Commits](https://github.com/est31/rcgen/compare/v0.6.0...v0.7.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com >
2019-09-15 22:17:20 -07:00
dependabot-preview[bot]
37de74603c
Update rcgen requirement from 0.5 to 0.6
...
Updates the requirements on [rcgen](https://github.com/est31/rcgen ) to permit the latest version.
- [Release notes](https://github.com/est31/rcgen/releases )
- [Changelog](https://github.com/est31/rcgen/blob/master/CHANGELOG.md )
- [Commits](https://github.com/est31/rcgen/compare/v0.5.0...v0.6.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com >
2019-09-13 07:01:56 +02:00
stammw
5881196211
H3: Simpler examples
2019-09-10 09:21:51 +02:00
stammw
69a4977267
H3: move some common example code into a shared module
2019-09-10 09:21:51 +02:00
stammw
297c99a9aa
H3: minor readabilty tweak
2019-09-10 09:21:51 +02:00
stammw
36dfee6ea7
H3: let client close connection gracefully
2019-09-10 09:21:51 +02:00
stammw
accb344fe0
H3: rename Response and Request Builders
2019-09-10 09:21:51 +02:00
stammw
3bd0c6969d
H3: prevent extra copy when sending DataFrame
2019-09-10 09:21:51 +02:00
stammw
d6b696c192
H3: stream request body from client
2019-09-10 09:21:51 +02:00
stammw
07cc1cc5ae
H3: helper function to build response
2019-09-10 09:21:51 +02:00
stammw
6950e350ea
H3: introduce builder pattern for client request
2019-09-10 09:21:51 +02:00
stammw
436f1cd511
H3: make sending response error management more ergonomic
2019-09-10 09:21:51 +02:00
stammw
6d6763da03
H3: refactor client with SendHeaders
2019-09-10 09:21:51 +02:00
stammw
2e7ef52d0d
H3: use SendHeaders to send trailers in SendResponse
2019-09-10 09:21:51 +02:00
stammw
0459854acb
H3: fix tail buffer ignored in BodyReader
2019-09-10 09:21:51 +02:00
stammw
fdd801c6e9
H3: refactor server code to integrate BodyWriter
2019-09-10 09:21:51 +02:00
stammw
9b212aaef5
H3: BodyWriter, AsyncWrite implementation
2019-09-10 09:21:51 +02:00
stammw
df4880a936
H3: Sending headers gets it's own future
2019-09-10 09:21:51 +02:00
Benjamin Saunders
77b47504b2
s/Directionality/Dir/
0.4.0
2019-09-08 07:57:44 +02:00
Benjamin Saunders
6433d4aff6
Don't bother copying empty slices
...
If a chunk of data ends at `self.offset` exactly, we can discard it
immediately.
2019-09-07 19:51:06 +02:00
stammw
23dcf2cf90
H3: partial DataFrame decoding implementation
2019-09-06 17:12:10 +02:00