Marten Seemann
811315e31a
Merge pull request #773 from lucas-clemente/fix-772
...
return an error when Write is called on a closed stream
2017-07-29 07:10:52 +07:00
Marten Seemann
77d4573d9b
return an error when Write is called on a closed stream
2017-07-29 00:19:39 +07:00
Marten Seemann
3e012f77c8
Merge pull request #742 from lucas-clemente/streamtest-deadlines
...
use the new gbytes.TimeoutReader and TimeoutWriter in the stream tests
2017-07-26 16:45:02 +07:00
Marten Seemann
315aa14ab5
use the new gbytes.TimeoutReader and TimeoutWriter in the stream tests
...
This makes sure that our tests fail, even if stream.Read or stream.Write
block.
2017-07-26 16:15:48 +07:00
Marten Seemann
d4fb1c3402
Merge pull request #766 from lucas-clemente/benchmarks
...
move benchmarks to separate package, speed up CI builds
2017-07-26 16:13:54 +07:00
Marten Seemann
bc1858c7ec
speed up the CI builds by using the new benchmark test flags
...
Reduce the number of samples and the amount of data transferred.
2017-07-26 16:00:41 +07:00
Marten Seemann
30bcc48e52
read file size and number of samples for benchmark test from flags
...
The values default to what we used previously.
2017-07-25 15:19:01 +07:00
Marten Seemann
d108e10420
move benchmark test to a separate package
2017-07-25 15:17:32 +07:00
Marten Seemann
2c2ca2e670
Merge pull request #764 from lucas-clemente/fix-761
...
speed up the benchmark test by fetching random data only once
2017-07-25 15:16:21 +07:00
Marten Seemann
4b63b09d0f
Merge pull request #768 from lucas-clemente/fix-767
...
fix some race conditions in client tests
2017-07-25 14:59:16 +07:00
Marten Seemann
a555e3be82
Merge pull request #756 from lucas-clemente/fix-755
...
fix flaky benchmark test on CIs
2017-07-25 14:58:55 +07:00
Marten Seemann
4c73b935f5
fix some race conditions in client tests
2017-07-25 13:30:49 +07:00
Marten Seemann
b11d77e0df
speed up the benchmark test by fetching random data only once
...
Reading from math.rand takes a long time when running the benchmark
with the race detector. By transferring the same data in every test, we
only have to do that once.
2017-07-25 11:42:01 +07:00
Marten Seemann
ce2333acd6
fix flaky benchmark test on CIs
...
The server now waits until the client has completed the handshake. This
way, we should avoid sending too many undecryptable packets.
2017-07-25 08:39:32 +07:00
Marten Seemann
43279c37a8
Merge pull request #753 from lucas-clemente/fix-734
...
implement a h2quic.RoundTripOpt that allow to only use cached QUIC conns
2017-07-25 08:36:51 +07:00
Marten Seemann
ab2bee4002
Merge pull request #749 from lucas-clemente/fix-741
...
implement net.Error interface for stream deadline expiration errors
2017-07-24 23:14:30 +07:00
Marten Seemann
8ccadf2088
Merge pull request #758 from lucas-clemente/fix-757
...
Revert "use a finalizer to close the h2quic.RoundTripper"
2017-07-24 23:04:23 +07:00
Marten Seemann
89e88ac6a0
Merge pull request #754 from lucas-clemente/fix-641
...
fix a race condition in a session test
2017-07-24 22:48:18 +07:00
Marten Seemann
6bd6594003
implement a h2quic.RoundTripOpt that allow to only use cached QUIC conns
2017-07-24 21:46:18 +07:00
Marten Seemann
6546e13e26
implement net.Error interface for stream deadline expiration errors
2017-07-24 21:45:07 +07:00
Marten Seemann
36ee4bd36b
Revert "use a finalizer to close the h2quic.RoundTripper"
...
This reverts commit 65cea185bd .
The finalizer may run even before the h2quic.RoundTripper
variable falls out of scope. This can result in closing
the session before a HTTP transfer has completed.
2017-07-24 21:43:52 +07:00
Marten Seemann
f43e732e4b
fix a race condition in a session test
...
We were relying on the run-loop to set handshakeComplete to true, while
at the same time sending packets. select doesn't guarantee the order of
execution when multiple cases can run. The fix is setting
handshakeComplete to true directly.
2017-07-24 21:42:05 +07:00
Marten Seemann
1060582a18
Merge pull request #760 from lucas-clemente/fix-759
...
use the gbytes.TimeoutReader in integration tests
2017-07-24 21:40:23 +07:00
Marten Seemann
1d1edfa615
use the gbytes.TimeoutReader in integration tests
2017-07-24 19:22:09 +07:00
Lucas Clemente
e45a89b55c
Merge pull request #744 from Injust/master
...
Removal of Alternate-Protocol header
2017-07-17 19:38:19 -07:00
Justin
0c3a466805
Remove Alternate-Protocol header
2017-07-17 22:20:40 -04:00
Justin
33bb42488a
Remove Alternate-Protocol header
2017-07-17 22:20:34 -04:00
Marten Seemann
61f558a2b6
Merge pull request #579 from lucas-clemente/stream-deadlines
...
implement stream deadlines
2017-07-16 12:08:24 +07:00
Marten Seemann
56155986e9
read the CI timescale factor from an environment variable
2017-07-15 23:51:24 +07:00
Marten Seemann
cfc7d1604d
scale all deadline duration in stream tests on the CIs by 20
...
This allows us to run the tests faster locally. On the CIs, where the
timing is less accurate, the tests take longer, but won't be flaky.
2017-07-15 23:46:15 +07:00
Marten Seemann
e09993403d
add stream deadlines to the Stream interface
2017-07-15 23:46:15 +07:00
Marten Seemann
1acdc5f18e
implement write deadlines
2017-07-15 23:46:15 +07:00
Marten Seemann
5720e8af7d
implement read deadlines
2017-07-15 23:46:15 +07:00
Marten Seemann
a70ae86f5a
replace the sync.Cond for stream.Write() by a channel
2017-07-15 23:46:15 +07:00
Marten Seemann
5fbd52158f
replace the sync.Cond for stream.Read() by a channel
2017-07-15 23:46:15 +07:00
Marten Seemann
bd693193ed
Merge pull request #739 from lucas-clemente/fix-738
...
fix timestamp test such that it works in all timezones
2017-07-15 20:50:58 +07:00
Marten Seemann
e87c8cafcf
Merge pull request #740 from lucas-clemente/benchmark-tests-race-detector
...
run benchmark tests with the race detector on Travis
2017-07-15 20:48:00 +07:00
Marten Seemann
584e23454e
run benchmark tests with the race detector on Travis
2017-07-15 14:54:37 +07:00
Marten Seemann
33260d91a2
fix timestamp test such that it works in all timezones
2017-07-15 11:23:42 +07:00
Marten Seemann
5de4d3ccb5
Merge pull request #736 from lucas-clemente/fix-735
...
implement a function to close the h2quic.RoundTripper and run it as a finalizer
2017-07-12 20:44:59 +07:00
Marten Seemann
65cea185bd
use a finalizer to close the h2quic.RoundTripper
...
The finalizer is executed when the RoundTripper is garbage collected.
This is not a perfect solution, since there are situations when an
unneeded RoundTripper is not garbage collected, e.g. when the program
exits before the GC ran. In those cases, the server will run into the
idle timeout and eventually close the connection on its side.
2017-07-12 19:20:21 +07:00
Marten Seemann
67e5d4aa98
Merge pull request #661 from lucas-clemente/drop-go17
...
drop support for Go 1.7
2017-07-12 18:57:10 +07:00
Marten Seemann
bf6030a855
implement a function to close the h2quic.RoundTripper
...
h2quic.RoundTripper.Close() closes all QUIC connections that this
roundtripper has used.
2017-07-12 18:56:47 +07:00
Marten Seemann
ac63554791
drop support for Go 1.7
2017-07-12 18:43:18 +07:00
Lucas Clemente
14687ee1ec
Merge pull request #708 from lucas-clemente/lucas-clemente-patch-1
...
Add Go 1.9beta2 to travis config
2017-07-12 12:08:32 +02:00
Marten Seemann
5b1d10e395
Merge pull request #731 from lucas-clemente/fix-730
...
don't close the client connection when the Public Header can't be parsed
2017-07-12 16:57:08 +07:00
Marten Seemann
964db88fbb
Merge pull request #733 from lucas-clemente/fix-732
...
don't send PINGs before the handshake is completed
2017-07-12 16:54:59 +07:00
Lucas Clemente
5ac8e1e547
Add Go 1.9beta2 to travis config
2017-07-12 11:52:50 +02:00
Marten Seemann
7341282f27
don't send PINGs before the handshake is completed
2017-07-12 11:14:03 +07:00
Marten Seemann
79642d502e
don't close the client connection when the Public Header can't be parsed
...
When receiving an unparseable packet with a spoofed remote address, we
should not close the connection.
2017-07-11 21:36:36 +07:00