Marten Seemann
3ffea5d8c4
internalize the qerr package
2018-11-11 12:44:16 +07:00
Marten Seemann
3266e36811
drop support for gQUIC
2018-10-30 10:20:39 +07:00
Marten Seemann
50397a979c
only send BLOCKED frames if there is more data to send
2018-07-30 05:06:11 +07:00
Marten Seemann
08160ab18f
queue connection-level window updates from the flow controller directly
...
It is not sufficient to check for connection-level window updates every
time a packet is sent. When a connection-level window update needs to be
sent, we need to make sure that it gets sent immediately (i.e. call
scheduleSending() in the session).
2018-05-08 15:17:45 +09:00
Marten Seemann
2e8a5807ba
queue stream-level window updates from the flow controller directly
2018-05-08 15:17:45 +09:00
Marten Seemann
948eef3e42
create a logger interface and use it everywhere
2018-04-04 13:03:28 +07:00
Marten Seemann
3b82628dbe
internalize ackhandler and congestion
2018-02-02 08:40:56 +08:00
Marten Seemann
b7b50572eb
use the timescale factor for flow control tests on CIs
2018-01-03 10:26:50 +07:00
Marten Seemann
5371f804f8
don't report blocked streams as active for sending data
2018-01-03 00:18:33 +07:00
Marten Seemann
20816bb866
fix flaky flow controller test
2017-12-22 16:11:38 +07:00
Marten Seemann
15ab0ae443
add a HasWindowUpdate method to the stream flow controller
2017-12-21 18:58:55 +07:00
Marten Seemann
f7526b9883
rewrite flow control auto-tuning
2017-12-21 18:02:14 +07:00
Marten Seemann
ac05343b00
rename window increment to window size in the flow controller
...
No functional change expected.
2017-12-21 17:58:03 +07:00
Marten Seemann
092908d3e0
simplify sending of (connection-level) BLOCKED frames
2017-12-20 10:23:17 +07:00
Marten Seemann
00edfb7461
set the offset in BLOCKED and STREAM_BLOCKED frames
2017-12-14 19:04:17 +07:00
Marten Seemann
eb3e253be2
send MAX_{STREAM}_DATA frames more frequently
...
WINDOW_UPDATEs are relatively small, and it doesn't cost much to grant
the peer more flow control credit earlier.
2017-12-12 18:06:49 +07:00
Marten Seemann
f51cfe9fe3
don't send a window update after the final offset was received
...
Receiving a final offset means the peer is done sending on that stream,
and there's no need to grant additional flow control credit.
2017-12-07 18:22:39 +07:00
Marten Seemann
d7a09e7667
reject inconsistent final stream offsets
2017-10-27 16:39:41 +07:00
Marten Seemann
636bf4578c
error when receiving stream data with a larger offset than the final offset
...
This could happen when a peer send a STREAM frame with the Fin bit set,
and then sends STREAM frames with a higher offset.
2017-10-25 10:43:29 +07:00
Marten Seemann
268c3859fc
remove the flow control manager
2017-10-20 21:34:09 +07:00
Marten Seemann
c53a83535e
split the flow controller in stream and connection flow controller
2017-10-20 21:12:19 +07:00