Commit Graph

224 Commits

Author SHA1 Message Date
Marten Seemann
1e09cc1ef4 add an integration test for canceling the read side of streams 2019-01-23 18:23:15 +07:00
Marten Seemann
2cb72ad098 Merge pull request #1710 from lucas-clemente/proxy-remove-version
remove unneeded version parameter from proxy constructor
2019-01-07 08:48:19 +07:00
Marten Seemann
e6d0ea630e Merge pull request #1718 from lucas-clemente/fix-session-queue
implement a queue of session waiting to be accepted
2019-01-07 08:45:22 +07:00
Marten Seemann
181aa493e0 make sure not to return closed session from Listener.Accept() 2019-01-06 15:27:42 +07:00
Marten Seemann
90514d53d1 reject new connection attempts if the server's accept queue is full 2019-01-06 15:26:43 +07:00
Marten Seemann
68f1d6d0ca properly close session in handshake integration tests
Otherwise there's a race condition when setting the supported versions.
2019-01-05 12:45:44 +07:00
Marten Seemann
2367ab35bb remove unneeded version parameter from proxy constructor 2019-01-05 12:36:52 +07:00
Marten Seemann
203994d06b add an integration test for tail loss recovery 2019-01-03 18:43:17 +07:00
Marten Seemann
cf0182e61c use the same package in integration tests 2019-01-03 18:42:49 +07:00
Marten Seemann
41ca178dcc don't run the handshake drop integration tests twice 2019-01-02 10:04:38 +07:00
Marten Seemann
a8ad6eea38 add integration tests for setting read and write deadlines 2018-12-20 14:43:25 +06:30
Marten Seemann
4abcce6408 use a self-signed certificate for integration tests 2018-12-11 14:24:12 +06:30
Marten Seemann
b0d965dfa5 close the server in the version negotiation integration tests
This fixes a race condition.
2018-11-27 11:19:07 +07:00
Marten Seemann
70ce6a5814 parse the whole Long Header, if the version is known 2018-11-26 15:57:54 +07:00
Marten Seemann
bf96707f48 rename the wire.Header to ExtendedHeader
It's not encrypted yet.
2018-11-26 15:57:54 +07:00
Marten Seemann
6150c19dcb remove unused perspective from header writing 2018-11-26 13:43:27 +07:00
Marten Seemann
7696bf59ea remove 6 byte packet numbers 2018-11-19 16:15:02 +07:00
Marten Seemann
3ffea5d8c4 internalize the qerr package 2018-11-11 12:44:16 +07:00
Marten Seemann
13b4781d0f don't import the quic-clients for the self integration test 2018-11-02 16:01:16 +07:00
Marten Seemann
3266e36811 drop support for gQUIC 2018-10-30 10:20:39 +07:00
Marten Seemann
2d65c2016e make version negotiation tests work with only one supported versions 2018-10-29 10:42:15 +07:00
Marten Seemann
a7f94d89b6 only allow a single retry 2018-10-24 23:48:33 +07:00
Marten Seemann
c9fe7456e8 activate gQUIC 44 in the Chrome integration tests 2018-09-10 13:09:54 +08:00
Marten Seemann
91d65baf1b add gQUIC 44 to the supported versions 2018-08-28 08:49:29 +07:00
Marten Seemann
46f8c07daa improve the version negotiation integration test 2018-08-27 09:29:26 +07:00
Marten Seemann
e23c08eef9 update CIs to Go 1.11 2018-08-16 11:51:23 +07:00
Marten Seemann
82388748f7 add handshake RTT tests with IETF QUIC 2018-08-15 21:34:50 +07:00
Marten Seemann
3168f6cd28 simplify output of handshake RTT tests when the test fails 2018-08-15 21:34:50 +07:00
Marten Seemann
83cb7cbe2e add an integration test multiplexing server and client on the same conn 2018-08-08 17:34:08 +07:00
Marten Seemann
8b2992a243 split the Session.Close(error) in Close() and CloseWithError(error) 2018-07-06 15:51:35 +07:00
Marten Seemann
748bb42a21 add an integration test using different connection ID lengths 2018-07-03 18:58:40 +07:00
Marten Seemann
3a1513e3a2 Merge pull request #1438 from lucas-clemente/fix-1437
fix a flaky proxy test
2018-07-02 21:26:57 +07:00
Marten Seemann
ace7f609a3 fix a flaky proxy test 2018-07-02 15:32:26 +07:00
Marten Seemann
879efb12b1 run multiplex integration tests with all supported QUIC versions 2018-07-02 10:49:44 +07:00
Marten Seemann
7b96d158d2 remove the OmitConnectionID field from the Header struct
Instead, just look at the length of the destination connection ID.
2018-06-24 17:21:41 +07:00
Marten Seemann
e07411ebe6 add an integration test multiplexing two downloads on one connection 2018-06-23 11:33:56 +07:00
Marten Seemann
2c9322c68f add a self integration test with different roundtrip times 2018-06-23 08:33:45 +07:00
Marten Seemann
44cd1f1813 reduce the drop rate in the self drop tests from 1/4 to 1/5 2018-06-20 23:14:17 +07:00
Marten Seemann
bc2163777f properly initialise the random number generator in the integration tests 2018-06-03 10:56:16 +08:00
Marten Seemann
2a4eb9c132 use the correct QUIC version in the Chrome integration tests
Because the version variable was set in the loop, we would always start
a QUIC server with the lowest support QUIC version.
2018-06-02 19:49:28 +08:00
Marten Seemann
511ff00881 Merge pull request #1167 from lucas-clemente/ietf-drop-tests
add self integration tests with dropped packets
2018-05-30 17:16:40 +08:00
Marten Seemann
c4c2fd96dc add integration tests with dropped packets during the handshake
The tests simulate three different application profiles:
1. the client speaks first (e.g. sends a request)
2. the server speaks first
3. nobody speaks (i.e. a preconnect)
2018-05-29 21:10:28 +08:00
Marten Seemann
6b82e46e0c use the prefix logger for client, server and proxy 2018-05-29 20:52:54 +08:00
Marten Seemann
52d31dd7ef implement the new header format
Currently, we're only sending and accepting packets with matching source
and destination connection IDs.
2018-04-19 13:46:54 +09:00
Marten Seemann
1a035a265c change the type of Connection ID to byte slice 2018-04-18 22:41:24 +09:00
Marten Seemann
948eef3e42 create a logger interface and use it everywhere 2018-04-04 13:03:28 +07:00
Marten Seemann
ce0b33d2ff use the maximum receive packet size, not send packet size, in the proxy 2018-03-09 18:32:43 +07:00
Marten Seemann
a588b9e140 make golint happier 2018-03-02 16:58:19 +07:00
Marten Seemann
d58b7bb4fd reenable the version negotiation integration tests 2018-02-26 14:43:23 +08:00
Marten Seemann
03171bc725 remove duplicate log statement in the proxy 2018-02-24 10:19:53 +08:00