Commit Graph

2258 Commits

Author SHA1 Message Date
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
Marten Seemann
f2a6c25124 remove unneeded mockgen command 2017-12-21 13:38:13 +07:00
Marten Seemann
2a0b71c66b fix race when dialing a new connection
When a connection error occurs, Dial can only return the error if the
session is closed with that error. Therefore, the session must be
created before client.listen() is called.
2017-12-21 13:25:49 +07:00
Marten Seemann
edb5fd751c Merge pull request #1058 from lucas-clemente/fix-stopping-of-testserver
fix stopping of testserver
2017-12-21 10:43:46 +07:00
Marten Seemann
e4e74e0873 properly stop the testserver at the end of a test in integration tests 2017-12-20 21:19:00 +07:00
Marten Seemann
ed212b789c Merge pull request #1057 from lucas-clemente/fix-h2quic-server-race
make h2quic.Server.ListenAndServe error if it was closed before
2017-12-20 21:16:48 +07:00
Marten Seemann
98595e8ca5 Merge pull request #1052 from lucas-clemente/travis-cert-expiry
print quic.clemente.io certificate expiration date in travis logs
2017-12-20 17:52:49 +07:00
Marten Seemann
a1058c0d97 make h2quic.Server.ListenAndServe error if it was closed before 2017-12-20 17:26:32 +07:00
Marten Seemann
5ff837cccd Merge pull request #1053 from lucas-clemente/server-close-wait-for-serve
wait for serve() to return before returning from server.Close()
2017-12-20 17:24:09 +07:00
Marten Seemann
9e61ce82fa print quic.clemente.io certificate expiration date in travis logs 2017-12-20 17:10:39 +07:00
Marten Seemann
96571b56e5 wait for serve() to return before returning from server.Close() 2017-12-20 16:59:38 +07:00
Marten Seemann
1692958f10 Merge pull request #1054 from lucas-clemente/disable-flaky-appveyor-test
disable flaky client test on AppVeyor
2017-12-20 16:56:09 +07:00
Lucas Clemente
5e80d86a89 Merge pull request #1050 from lucas-clemente/certs
Update certs
2017-12-20 10:49:31 +01:00
Marten Seemann
c50b360fe8 disable flaky client test on AppVeyor 2017-12-20 15:55:08 +07:00
Marten Seemann
d13e2aafe5 Merge pull request #1049 from lucas-clemente/queue-window-update-from-stream
queue stream window updates directly from stream.Read
2017-12-20 13:18:21 +07:00
Marten Seemann
c270de3538 queue stream window updates directly from stream.Read
By queueing receive window updates directly from stream.Read, it is no
longer necessary to ask every stream for window updates when sending a
packet.
2017-12-20 13:03:36 +07:00
Marten Seemann
74c00a8dd8 Merge pull request #1048 from lucas-clemente/callback-interface
pass an interface containing the callbacks to the stream
2017-12-20 12:58:43 +07:00
Marten Seemann
fc8fafd15e pass a callback containing the callbacks to the stream 2017-12-20 11:49:05 +07:00
Marten Seemann
44cff87e53 Merge pull request #1047 from lucas-clemente/fix-1044
don't send data that was queue before the stream write deadline expired
2017-12-20 11:43:38 +07:00
Marten Seemann
ea77974027 don't send data that was queue before the stream write deadline expired 2017-12-20 11:18:36 +07:00
Marten Seemann
76d3ec3ae4 Merge pull request #1046 from lucas-clemente/fix-1045
don't schedule sending when stream.Write is called after the deadline
2017-12-20 11:17:02 +07:00
Marten Seemann
d4b80bd8d0 don't schedule sending when stream.Write is called after the deadline 2017-12-20 10:59:09 +07:00
Marten Seemann
3245c81bbc Merge pull request #1043 from lucas-clemente/quic-mocks
generate the streamI mock in the quic package
2017-12-20 10:58:40 +07:00
Marten Seemann
d2e31c04ab generate the streamI mock in the quic package
By doing so, we can mock private methods of the stream, so they cannot
be type-asserted by users of quic-go.
2017-12-20 10:42:07 +07:00
Marten Seemann
54ac21fbef Merge pull request #1042 from lucas-clemente/simplify-blocked-frame
simplify sending of BLOCKED and STREAM_BLOCKED frames
2017-12-20 10:39:10 +07:00
Marten Seemann
092908d3e0 simplify sending of (connection-level) BLOCKED frames 2017-12-20 10:23:17 +07:00
Marten Seemann
d49ad2d0cc queue STREAM_BLOCKED frames from the stream, when popping a STREAM frame 2017-12-20 10:23:01 +07:00
Marten Seemann
1514e42e11 Merge pull request #1040 from lucas-clemente/split-stream
split the stream into a receive and a send stream
2017-12-20 10:19:51 +07:00
Marten Seemann
e926b0805a split the stream into a receive and a send stream 2017-12-20 10:05:02 +07:00
Lucas Clemente
3bb2687bbf Update certs 2017-12-19 22:17:08 +01:00
Marten Seemann
c0eb12bb29 Merge pull request #1036 from lucas-clemente/fix-1034
send and handle STOP_SENDING frames
2017-12-16 10:26:07 +07:00
Marten Seemann
a0c4e28485 send and handle STOP_SENDING frames (for IETF QUIC) 2017-12-16 09:30:07 +07:00
Marten Seemann
8d77fceb3a Merge pull request #1035 from lucas-clemente/stream-resets
refactor stream to support canceling Read and Write
2017-12-16 09:27:46 +07:00
Marten Seemann
d0b22e3439 refactor stream to support canceling Read and Write 2017-12-16 09:10:24 +07:00
Marten Seemann
15af2c6e41 Merge pull request #1037 from lucas-clemente/flow-control-mutexes
remove flow control mutexes for the sending data
2017-12-16 08:57:59 +07:00
Marten Seemann
4b7af49164 Merge pull request #1038 from lucas-clemente/flow-control-no-defer
don't defer unlocking the mutex when getting window updates
2017-12-16 00:25:26 +07:00
Marten Seemann
bfdeeae70c remove flow control mutexes for the sending data
Receiving MAX_{STREAM}_DATA frames and sending data is all done
sequentially, so we don't need a mutex there.
2017-12-16 00:23:48 +07:00
Marten Seemann
075e6f2c79 Merge pull request #1033 from lucas-clemente/error-code-type
add an application-defined error type, for RST_STREAM and STOP_SENDING
2017-12-15 19:53:54 +07:00
Marten Seemann
357a2f6213 don't defer unlocking the mutex when getting window updates 2017-12-15 19:49:41 +07:00
Marten Seemann
40650d93f0 add an application-defined error type, for RST_STREAM and STOP_SENDING 2017-12-15 16:21:09 +07:00
Marten Seemann
efa781b067 Merge pull request #1027 from lucas-clemente/fix-1026
don't send STOP_WAITING frames (for IETF QUIC)
2017-12-14 23:40:03 +07:00
Marten Seemann
2c83c9e3f0 don't send STOP_WAITING frames (for IETF QUIC) 2017-12-14 23:14:05 +07:00
Marten Seemann
93e99e239c Merge pull request #1030 from lucas-clemente/fix-1029
when the stream write deadline expires, return the data length written
2017-12-14 23:13:44 +07:00
Marten Seemann
bb093d82f1 Merge pull request #1025 from lucas-clemente/fix-964
ignore STOP_WAITINGs, derive lower bound for packets to include in ACK
2017-12-14 19:38:28 +07:00
Marten Seemann
34ad9f9e63 when the stream write deadline expires, return the data length written 2017-12-14 19:25:36 +07:00