Dirkjan Ochtman
a7a54bd778
Encode stream frames from inside Streams
2020-04-28 13:06:10 -07:00
Dirkjan Ochtman
9693504d94
Derive Default for Recv
2020-04-28 13:06:10 -07:00
Dirkjan Ochtman
403702c643
Derive Default for Assembler
2020-04-28 13:06:10 -07:00
Dirkjan Ochtman
1c45dfdeac
Derive Default for SendBuffer
2020-04-28 13:06:10 -07:00
Dirkjan Ochtman
f6904d6140
Apply suggestions from clippy
2020-04-25 09:43:13 -07:00
Dirkjan Ochtman
3a414cc288
Prevent rustfmt from mucking with macro call style
2020-04-25 09:43:13 -07:00
Jesse Lucas
11a7c77992
Add usage documentation to quinn/examples/server.rs
2020-04-25 18:06:04 +02:00
Benjamin Saunders
ddc8d432e6
Fix broken doc link
2020-04-22 06:58:01 +02:00
Benjamin Saunders
8200c97522
Set FIN bit on all eligible stream frames
...
Improves performance when a frame bearing a FIN is lost but the loss
is not detected until after a trailing segment of data is
retransmitted due to prior loss.
2020-04-19 14:10:57 -07:00
Benjamin Saunders
8c0db7466a
Simplify tracking of stream data acknowledgement completeness
2020-04-19 14:10:57 -07:00
Benjamin Saunders
703ab27cc6
Clarify logic when a blocked or finishing stream is stopped
2020-04-19 14:10:57 -07:00
Benjamin Saunders
1533cc45b1
Rearrange Streams methods
2020-04-19 14:10:57 -07:00
Benjamin Saunders
7c15b939dc
Move connection-level flow control into streams module
2020-04-19 14:10:57 -07:00
Benjamin Saunders
784b40f4d4
Move stream finish logic into streams module
2020-04-19 14:10:57 -07:00
Benjamin Saunders
094029b7cc
Privatize streams::Send.pending
2020-04-19 14:10:57 -07:00
Benjamin Saunders
4deb982483
Move stream-level flow control logic into streams module
2020-04-19 14:10:57 -07:00
Benjamin Saunders
6c1673104d
Move stream transmit logic into Streams
2020-04-19 14:10:57 -07:00
Benjamin Saunders
cb6c35526f
Move stream frame ACK handling into Streams
2020-04-19 14:10:57 -07:00
Benjamin Saunders
14bd135d56
Buffer outgoing data separately per stream
2020-04-19 14:10:57 -07:00
Benjamin Saunders
f757bfbb7e
Update send window to account for reset streams immediately
...
Frees resources sooner and opens the way for per-stream send buffers
without compromising send window tracking when streams are destroyed.
2020-04-19 14:10:57 -07:00
Benjamin Saunders
d438d9a041
Move stream send buffer into Streams
2020-04-19 14:10:57 -07:00
Benjamin Saunders
6c41446849
Move reset state transitions into streams module
2020-04-19 14:10:57 -07:00
Benjamin Saunders
71866632d5
More detailed logging for finish_acked test
2020-04-19 14:10:57 -07:00
Benjamin Saunders
632fba7d20
Clarify comment
2020-04-19 14:10:57 -07:00
stammw
b524f6ac4c
H3: request benchmarks
2020-04-19 21:47:53 +02:00
stammw
2aa424a3ce
H3: impl default for bench context
2020-04-19 21:47:53 +02:00
stammw
10cde920f6
H3: build benchmark context with settings
2020-04-19 21:47:53 +02:00
stammw
f3cc67601f
H3: isolate throughput bench and helpers
2020-04-19 21:47:53 +02:00
stammw
963695db1d
H3: upload benchmarks
2020-04-19 21:47:53 +02:00
stammw
d6c290a641
H3: rename bench throughput -> download
2020-04-19 21:47:53 +02:00
stammw
050b6fdc3f
H3: orthogonal bench server spawner
2020-04-19 21:47:53 +02:00
Dirkjan Ochtman
2bb4198b5b
Replace bitlab dependency with homegrown bit twiddling
...
bitlab was a bit of an odd dependency, providing some convenience
wrappers for writing bits across byte slices. It additionally
pulled in the num crate. Replace it by writing our own version of
the bit reading/writing routines, which should amount to much less
code and is more optimized for our use case since a number of
checks can be elided and it has a simpler error path.
2020-04-19 10:57:51 -07:00
Dirkjan Ochtman
883148eb87
Remove unnecessary type annotations
2020-04-19 10:57:51 -07:00
stammw
8647b5c089
interop: send Alt-Svc from h2 and h1
...
This make browser talk to us in HTTP/3 !
2020-04-19 18:41:26 +02:00
stammw
690c29f135
H3: let the OS choose bench ports
2020-04-18 14:46:29 -07:00
stammw
416cca0935
H3: Fix comment style
2020-04-18 14:46:29 -07:00
stammw
a1d538c7d3
H3: kill the server, fix bench
2020-04-18 14:46:29 -07:00
stammw
739719f884
H3: bench factorize server
2020-04-18 14:46:29 -07:00
stammw
3ec3612982
interop: doc for qif tool
2020-04-18 20:59:50 +02:00
stammw
b3f9288c29
interop: rewrite qif tool error management
2020-04-18 20:59:50 +02:00
stammw
a6398ddf1d
interop: fix qif clippy warnings
2020-04-18 20:59:50 +02:00
stammw
ea8237209f
interop: make qif tool catch up qpack API
2020-04-18 20:59:50 +02:00
stammw
92123dc0c5
interop: make h2 accept self-signed certs
2020-04-15 19:54:30 +02:00
Benjamin Saunders
3a6d5fb480
Always run core test on its own
2020-04-14 11:02:28 +02:00
Benjamin Saunders
0191950331
Take IP address from opts rather than hardcoding IPv4 wildcard
2020-04-14 11:02:28 +02:00
stammw
48e2e80ac9
interop: custom header for dyn encoding from server
2020-04-14 10:07:43 +02:00
stammw
30c4e5fcfb
interop: client d test
2020-04-14 10:07:43 +02:00
stammw
7f7354666c
interop: h3 remembers decoding with a QPACK dyn ref
2020-04-14 10:07:43 +02:00
Benjamin Saunders
b8c5eae443
Don't block application writes on congestion
...
May provide more consistent performance.
2020-04-14 07:29:59 +02:00
Benjamin Saunders
c2b2446913
Make congestion tests independent of write blocking
2020-04-14 07:29:59 +02:00