Jean-Christophe BEGUE
5f5be440dc
H3: ignore unknown frames
2020-05-21 10:42:26 +02:00
Jean-Christophe BEGUE
061733dc1e
H3: send get requests with FakeRequest helpers
2020-05-21 10:42:26 +02:00
Jean-Christophe BEGUE
77aeb5544b
H3: enable tracing by default in tests
2020-05-21 10:42:26 +02:00
Benjamin Saunders
7a05701e05
Simplify stream stop logic
2020-05-21 09:28:42 +02:00
Benjamin Saunders
d4b7a8f73e
Additional stream testing
2020-05-21 09:28:42 +02:00
Benjamin Saunders
eea76d2a90
Proactively discard data on stopped streams
...
Previously, flow control credit would not be issued for data received
on stopped streams unless the application continued reading them
indefinitely. This produced a flow control leak in the high level API,
causing applications which dropped streams with unread data to
eventually grind to a halt.
Discarding data immediately should also improve performance when data
is being received on stopped streams, and allows us to discard stream
state earlier.
2020-05-21 09:28:42 +02:00
Benjamin Saunders
959227566e
Reject connections on ALPN failure
2020-05-21 09:22:59 +02:00
Benjamin Saunders
7053c6a802
Wake connection driver on read to issue flow control credit
2020-05-20 12:52:34 +02:00
Benjamin Saunders
a58b712e46
Don't double-count acknowledgement of reset stream data
2020-05-20 12:52:34 +02:00
Benjamin Saunders
0e24d2224e
Ignore redundant reset frames
...
This could cause excess connection-level flow control credit to be
issued.
2020-05-20 12:52:34 +02:00
Benjamin Saunders
9cf8652deb
Fix empty stream frames not raising stream watermark
2020-05-20 12:52:34 +02:00
Benjamin Saunders
36a040bcf9
Ignore redundant stream reset calls
...
Prevents corruption of internal state on API misuse.
2020-05-20 12:52:34 +02:00
Benjamin Saunders
6e9f7e8063
Clarify variable name
2020-05-13 06:46:44 +02:00
Benjamin Saunders
275c9ca782
Apply padding in populate_packet
2020-05-13 06:46:44 +02:00
Benjamin Saunders
f946bad7b8
More distinct test name
2020-05-13 06:46:44 +02:00
Benjamin Saunders
d9311309af
Bundle populate_packet return values into a struct
2020-05-13 06:46:44 +02:00
Benjamin Saunders
790546a6d8
Factor out congestion controller into a trait object
2020-05-12 22:43:19 +02:00
Benjamin Saunders
17d97888fc
Clarify benefits of read_unordered
2020-05-12 20:59:13 +02:00
Benjamin Saunders
54f0ab1b14
Clarifying comments
2020-05-12 20:59:13 +02:00
Benjamin Saunders
ba78cbc680
Move received range tracking into Assembler
2020-05-12 20:59:13 +02:00
Benjamin Saunders
f068d497e3
Move Recv::bytes_read into Assembler
2020-05-12 20:59:13 +02:00
Benjamin Saunders
77185c8676
Move unordered read tracking into Assembler
2020-05-12 20:59:13 +02:00
Benjamin Saunders
6786b8a1bb
Include ReadError in ReadToEndError::Read display
...
By treating the read error as a component of, rather than an
incidental ancestor to, the enclosing error we reduce the odds of
unhelpful diagnostics.
2020-05-11 13:53:23 -07:00
Benjamin Saunders
30b42c5bcf
Don't use a larger receive buffer than necessary
2020-05-11 22:29:36 +02:00
Benjamin Saunders
8ba2a820d0
Move UDP payload limit to EndpointConfig
...
Makes it straightforward to share a smaller recieve buffer between
many connections.
2020-05-11 22:29:36 +02:00
Benjamin Saunders
30ac99895d
Delete duplicate comments
2020-05-11 22:29:36 +02:00
Benjamin Saunders
9889a4cd56
Fix max UDP payload size not being sent to the peer
2020-05-11 22:29:36 +02:00
Benjamin Saunders
2833009dca
Update naming and adjust default for UDP payload size limit
2020-05-11 22:29:36 +02:00
Benjamin Saunders
0247c7d644
Improve endpoint construction docs
2020-05-11 15:40:32 +02:00
Benjamin Saunders
6f9e20cf64
Allow a custom ClientConfig without allocating a default
2020-05-11 15:40:32 +02:00
Benjamin Saunders
b727b7b605
Clarify soundness requirements for cmsg helpers
2020-05-11 10:21:13 +02:00
Benjamin Saunders
1636ad69e7
Mention matrix room in README
2020-05-11 06:58:05 +02:00
Benjamin Saunders
a97f1d6c2e
Update datagram transport parameter to one-way semantics
...
As of current master in the datagram draft, you no longer need to
accept datagrams to send them.
2020-05-10 21:18:53 +02:00
Benjamin Saunders
6ac08773a6
Update libc
2020-05-08 07:09:25 +02:00
Benjamin Saunders
501f3cdd68
Update to new rustls
2020-05-06 10:15:25 -07:00
Benjamin Saunders
907c76c45a
Reset interop server initial congestion window to default
...
Eases testing of congestion window behavior.
2020-05-05 13:52:24 +02:00
Jean-Christophe BEGUE
b2ebb47b8c
H3: test response canceling from server
2020-05-05 10:40:24 +02:00
Dirkjan Ochtman
eeac018bd9
Update license to proper SPDX expression
...
From the Cargo docs:
"Previously multiple licenses could be separated with a /,
but that usage is deprecated."
https://doc.rust-lang.org/cargo/reference/manifest.html#the-license-and-license-file-fields
2020-05-04 09:14:22 -07:00
Jean-Christophe BEGUE
d45ce73660
H3: Fix client response canceling
2020-05-04 17:59:05 +02:00
Jean-Christophe BEGUE
1d5977548a
H3: use a HashSet for in-flight request tracking
2020-05-04 17:59:05 +02:00
stammw
56192ff875
H3: update docs with HttpBody API
2020-05-04 17:59:05 +02:00
Dirkjan Ochtman
99df1dfbb1
H3: don't take ownership for request cancellation
2020-05-04 17:59:05 +02:00
Dirkjan Ochtman
6df0b1d6e1
H3: Tweaks to error types
2020-05-04 17:59:05 +02:00
stammw
cf431350eb
H3: refactor header receiving code into RecvData
2020-05-04 17:59:05 +02:00
stammw
61332ec52c
H3: restore canceling API
2020-05-04 17:59:05 +02:00
stammw
586cb59a4e
H3: HttpBody implementation on the receive side
2020-05-04 17:59:05 +02:00
stammw
448470518a
H3: rewrite client to use SendData<HttpBody, _>
2020-05-04 17:59:05 +02:00
stammw
36c4d0ba53
H3: poll method for header decoding
2020-05-04 17:59:05 +02:00
stammw
34c9f45802
H3: HttpBody server integration in SendResponse
2020-05-04 17:59:05 +02:00
stammw
57fe592bd7
H3: Body stream helper for benches
2020-05-04 17:59:05 +02:00