Marten Seemann
5afe35328a
implement parsing and writing of MAX_STREAM_ID frames
2018-01-04 17:02:10 +07:00
Marten Seemann
32168928d1
Merge pull request #1098 from lucas-clemente/h2quic-client-refactor-header-loop
...
refactor the loop reading the header stream in the h2quic client
2018-01-04 09:38:57 +07:00
Marten Seemann
19c12a9470
refactor the loop reading the header stream in the h2quic client
2018-01-04 08:35:25 +07:00
Marten Seemann
4fec90bb06
Merge pull request #1101 from lucas-clemente/remove-streamsmap-range
...
remove the Range method in the streamsMap
2018-01-04 08:27:49 +07:00
Marten Seemann
c21e55b730
Merge pull request #1100 from lucas-clemente/fix-1099
...
use the timescale factor for flow control tests on CIs
2018-01-03 23:25:02 +07:00
Marten Seemann
b687dd774f
remove the Range method in the streamsMap
...
streamsMap.Range was only used to pass the stream flow control window to
all open streams after receiving the peer's transport parameters. It's
easier to pass the transport parameters to the streamsMap directly.
2018-01-03 16:18:53 +07:00
Marten Seemann
0e3e3a0370
Merge pull request #1081 from lucas-clemente/stream-completed-callback
...
immediately delete a stream when it is completed
2018-01-03 11:33:19 +07:00
Marten Seemann
8a3f807a12
immediately delete a stream when it is completed
...
By introducing a callback to the stream, which the stream calls as soon
as it is completed, we can get rid of checking every single open stream
if it is completed.
2018-01-03 10:30:20 +07:00
Marten Seemann
b7b50572eb
use the timescale factor for flow control tests on CIs
2018-01-03 10:26:50 +07:00
Marten Seemann
843a0786fc
Merge pull request #1084 from lucas-clemente/fix-1083
...
fix flaky send stream test
2018-01-03 09:55:32 +07:00
Marten Seemann
ec339f6702
Merge pull request #1090 from lucas-clemente/better-h2quic-client-errors
...
improve error handling in the h2quic client for header stream handling
2018-01-03 09:36:53 +07:00
Marten Seemann
f2a1206c20
fix flaky send stream test
2018-01-03 09:32:09 +07:00
Marten Seemann
2ccd795a61
Merge pull request #1073 from lucas-clemente/improve-send-stream-tests
...
improve send stream tests
2018-01-03 09:30:18 +07:00
Marten Seemann
fc4adb4775
improve error handling in the h2quic client for header stream handling
...
When the underlying QUIC stream is closed, the close error should be
returned. This always happens when receiving a CONNECTION_CLOSE from the
server.
Furthermore, this adds a missing break statement in the case when
receiving an invalid HTTP request.
2018-01-03 09:07:18 +07:00
Marten Seemann
0311bff1f2
improve the send stream tests
2018-01-03 08:46:46 +07:00
Marten Seemann
2f6dfefe59
Merge pull request #1079 from lucas-clemente/fix-1078
...
don't create stream 1 in the streamsMap on GetOrOpenStream (for gQUIC)
2018-01-03 08:42:33 +07:00
Marten Seemann
02c6b9f00c
Merge pull request #1072 from lucas-clemente/blocked-streams-are-inactive
...
don't report blocked streams as active for sending data
2018-01-03 08:42:11 +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
c626137608
Merge pull request #1082 from lucas-clemente/fix-mockgen-vendor-problem
...
fix mockgen script which caused a probem with the vendored curve25519
2018-01-03 00:16:29 +07:00
Marten Seemann
38281575a2
don't create stream 1 in the streamsMap on GetOrOpenStream (for gQUIC)
2018-01-02 23:57:20 +07:00
Marten Seemann
79c95e1161
fix mockgen script which caused a probem with the vendored curve25519
...
curve25519 uses Go compiler directives (go:noescape), which apparently
mockgen doesn't understand and therefore throws errors.
2018-01-02 23:55:12 +07:00
Marten Seemann
091b6b2602
Merge pull request #1087 from lucas-clemente/remove-non-forward-secure-dialing
...
remove non forward-secure dialing
2018-01-02 23:48:00 +07:00
Marten Seemann
924cd08ebb
Merge pull request #1069 from lucas-clemente/queue-stream-data-from-stream
...
introduce a queue of active streams for sending data
2018-01-02 23:36:22 +07:00
Marten Seemann
99a2853e7d
remove non forward-secure dialing
...
This was broken for a long time, and won't be available when using the
TLS 1.3 handshake.
2018-01-02 23:26:55 +07:00
Marten Seemann
d9c107b034
introduce a queue of active streams in the streamFramer
...
The queue holds all streams that have data to send. When stream.Write or
stream.Close are called, a stream is added to this queue. It is removed
from the queue when all available (at that moment) data was sent.
This way, we don't need the round robin scheduling (which, for every
packet sent, asked every single open stream if it had data) any more.
2018-01-02 23:24:44 +07:00
Marten Seemann
a5d3eaea61
rename the scheduleSending callback to onHasStreamData in the stream
...
This callback also takes the stream ID, which will later be used to
create a queue of streams that have data for writing available.
2018-01-02 23:24:44 +07:00
Marten Seemann
bd60e996dc
Merge pull request #1080 from lucas-clemente/travis-go-1.10-beta
...
also run the Travis tests with Go 1.10 beta
2018-01-02 22:54:29 +07:00
Marten Seemann
49f7fe3cbc
Merge pull request #1086 from lucas-clemente/fix-1085
...
fix race condition in the client crypto setup tests
2018-01-02 22:50:37 +07:00
Marten Seemann
ee1eeebe8a
Merge pull request #1091 from lucas-clemente/close-example-roundtripper
...
close the h2quic.RoundTripper in the example client
2018-01-02 22:49:49 +07:00
Marten Seemann
3e9c8317db
close the h2quic.RoundTripper in the example client
...
While it's not necessary, it's best practice to close the RoundTripper.
That way, QUIC can do a proper connection shutdown.
2017-12-30 13:45:11 +07:00
Marten Seemann
a02a6197c2
fix race condition in the client crypto setup tests
2017-12-26 15:35:00 +07:00
Marten Seemann
f42efdbca9
also run the Travis tests with Go 1.10 beta
2017-12-26 08:38:27 +07:00
Marten Seemann
ad3fbd3a01
Merge pull request #1071 from lucas-clemente/update-mint
...
update mint
2017-12-22 16:35:42 +07:00
Marten Seemann
ab0dd7f1f3
Merge pull request #1075 from lucas-clemente/fix-1074
...
fix flaky flow controller test
2017-12-22 16:35:35 +07:00
Marten Seemann
20816bb866
fix flaky flow controller test
2017-12-22 16:11:38 +07:00
Marten Seemann
14d4e5e9ec
update mint
...
mint recently changed the signature of ExtensionList.Find.
2017-12-22 16:10:37 +07:00
Marten Seemann
a6eca911de
Merge pull request #1070 from lucas-clemente/vendor-mint
...
vendor mint
2017-12-22 15:50:14 +07:00
Marten Seemann
22679ddb14
vendor mint
2017-12-22 10:13:58 +07:00
Marten Seemann
ae739f7cd2
Merge pull request #1068 from lucas-clemente/fix-1067
...
call the scheduleSending callback when stream.Close is called
2017-12-22 08:46:36 +07:00
Marten Seemann
0d6032a065
call the scheduleSending callback when stream.Close is called
...
The stream needs to send the STREAM frame containing the FIN bit.
2017-12-21 21:10:17 +07:00
Marten Seemann
45190882cc
Merge pull request #1065 from lucas-clemente/fix-window-update-race
...
fix window update race
2017-12-21 19:18:52 +07:00
Marten Seemann
d195085f65
don't queue the complete window update, but only the stream ID
2017-12-21 19:03:52 +07:00
Marten Seemann
15ab0ae443
add a HasWindowUpdate method to the stream flow controller
2017-12-21 18:58:55 +07:00
Marten Seemann
8759fa2d8e
Merge pull request #1063 from lucas-clemente/flowcontrol-autotuning
...
rewrite flow control auto-tuning
2017-12-21 18:44:05 +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
8c0d8bb568
Merge pull request #1061 from lucas-clemente/fix-1051
...
fix race when dialing a new connection
2017-12-21 17:44:28 +07:00
Marten Seemann
820551bf22
Merge pull request #1064 from lucas-clemente/regenerate-gomocks
...
regenerate all gomocks after gomock output format was changed
2017-12-21 17:43:32 +07:00
Marten Seemann
d4f904b55b
regenerate all gomocks after gomock output format was changed
...
No functional change expected.
2017-12-21 17:30:51 +07:00
Marten Seemann
552be1f403
Merge pull request #1062 from lucas-clemente/remove-unneeded-mockgen-line
...
remove unneeded mockgen command
2017-12-21 17:29:43 +07:00