Marten Seemann
f1ada87dcf
make the protocol package internal
2017-08-30 00:19:44 +07:00
Lucas Clemente
75070d057b
Fix import order
2017-08-21 12:25:27 +02:00
Lucas Clemente
8ec11c0b53
Move testdata/ to internal/
2017-08-18 12:06:36 +02:00
Marten Seemann
f6e8ce5c67
make tests independent of the supported QUIC versions
...
Now it's no longer necessary to edit the h2quic tests when adding a new
QUIC version to the slice of supported versions.
2017-08-10 20:23:20 +07:00
Marten Seemann
8ef69143ba
implement a context for the stream
...
The context is cancelled when the write-side of the stream is closed.
2017-08-02 11:28:17 +07:00
Marten Seemann
e02f5d5fbe
replace Session.WaitUntilClosed() by a context
2017-08-02 11:27:44 +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
6bd6594003
implement a h2quic.RoundTripOpt that allow to only use cached QUIC conns
2017-07-24 21:46:18 +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
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
e09993403d
add stream deadlines to the Stream interface
2017-07-15 23:46:15 +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
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
ee6ca8dfb4
expose the quic.Config in the h2quic.RoundTripper
2017-07-10 22:00:03 +07:00
Marten Seemann
abb9594af8
change order of function parameters for the h2quic.client constructor
2017-07-10 22:00:03 +07:00
Marten Seemann
cb81a95ceb
make the dependency-injected dialAddr in h2quic.client a global variable
...
It's only used for testing, so there's no need to have in each
h2quic.client instance.
2017-07-10 21:59:58 +07:00
Marten Seemann
d94b57fe29
expose the quic.Config in the h2quic.Server
2017-07-10 21:57:31 +07:00
Marten Seemann
79c7ed4ed1
dependency-inject quic.Listen and quic.ListenAddr in h2quic.Server
2017-07-10 21:57:31 +07:00
Lucas Clemente
bbf8977f64
Change h2quic.Server.Serve() to accept a net.PacketConn
2017-07-05 21:02:13 +02:00
krish7919 (Krish)
755dedf1ff
Add keepalive support for clients in quic.Config
...
Fixes #525 .
2017-07-05 20:29:28 +02:00
Marten Seemann
649933d17b
Merge pull request #713 from lucas-clemente/remove-tlsconfig-from-quicconfig
...
remove the tls.Config from the quic.Config
2017-07-03 22:45:13 +02:00
Marten Seemann
a851aaacda
remove the tls.Config from the quic.Config
...
The tls.Config now is a separate parameter to all Listen and Dial
functions in the quic package.
2017-07-03 22:12:09 +02:00
Lucas Clemente
5c28e8d164
Fix cookie test for Go1.9
2017-07-03 13:57:11 +02:00
Marten Seemann
9df3380bc6
rename the h2quic.QuicRoundTripper to h2quic.RoundTripper
2017-06-26 19:14:41 +02:00
Marten Seemann
cd02cc8f0f
add a method to the session that blocks until it is closed
2017-06-16 11:13:40 +02:00
Marten Seemann
987905149b
run gofmt to fix ordering of imports
2017-06-13 18:07:22 +02:00
Marten Seemann
c0b09c8646
make utils an internal package
2017-06-09 22:28:40 +02:00
Marten Seemann
05d7bc91ef
fix race condition when handling the header stream fails in h2quic client
2017-06-06 17:08:00 +02:00
Marten Seemann
c122428cb6
simply the dialing in the h2quic client
...
Fixes #620 .
Dialing is now done lazily, when a request is executed.
2017-06-04 09:41:51 +02:00
Marten Seemann
c2a89e6b78
improve error message in the h2quic client
2017-06-03 17:41:17 +02:00
Marten Seemann
9054e5205f
don't pass the roundtripper to the h2quic client
2017-06-02 23:08:14 +02:00
Marten Seemann
4c3d4960bb
privatize the h2quic client
2017-06-01 20:14:07 +02:00
Marten Seemann
6623abf3d1
return handshake errors in h2quic Client.Do
2017-05-16 00:56:10 +08:00
Marten Seemann
33a9b5aae4
add more tests for Dial in the h2quic client
2017-05-16 00:56:09 +08:00
Marten Seemann
fb77a79b2b
close the response chan on header stream erros in h2quic client
2017-05-16 00:56:08 +08:00
Marten Seemann
612323985b
remove the ConnStateCallback from the client
...
Dial and DialAddr return once the connection is forward secure. There is
currently no option to get the session earlier, this will be added later.
2017-05-16 00:56:02 +08:00
Marten Seemann
30a0211243
implement a Listener.Accept() method
2017-05-15 20:37:29 +08:00
Marten Seemann
9fbec90ced
enable connection ID truncation for the h2quic client
2017-05-13 17:19:57 +08:00
Marten Seemann
9db23eceed
reverse the order of the SupportedVersions slice
...
For the client, the Versions option in the quic.Config encodes the first
entry is the preferred version. If not set, this should default to the
highest supported version.
2017-05-05 18:06:14 +08:00
Marten Seemann
b305cd674f
make it possible to configure the QUIC versions for the server
2017-05-05 18:05:57 +08:00
Matt Holt
65923b35f5
Make responseWriter a CloseNotifier
...
This is a temporary no-op that returns a new channel;
eventually it'd be nice if this worked for real.
2017-05-02 00:13:14 -06:00
Marten Seemann
0a2c37d42a
add QUIC 37 to supported versions
...
fixes #375
Chrome tests are disabled for QUIC 37, since the Chrome version in the
docker image doesn’t support this version yet.
2017-04-29 16:59:32 +07:00
Marten Seemann
dc782e78eb
fix race condition when saving the encryption level in h2quic.Client
...
fixes #551
2017-04-18 14:30:25 +07:00
Marten Seemann
d73e99624d
drop support for Go 1.6
2017-04-11 15:38:36 +07:00
Marten Seemann
28c115fee1
drop support for QUIC 34
...
fixes #368
2017-03-19 20:57:28 +07:00
Marten Seemann
6d0ac39cf7
Merge pull request #482 from lucas-clemente/fix-479
...
send a HeadersStreamDataDecompressFailure error when H2 frame parsing fails
2017-03-15 17:15:21 +07:00
Marten Seemann
7f416a06c4
send a HeadersStreamDataDecompressFailure error when H2 frame parsing fails
...
fixes #479
2017-03-15 11:11:38 +07:00
Marten Seemann
4f16503ab9
save the TLS config in the h2quic client
...
fixes #476
2017-03-15 09:18:06 +07:00
Marten Seemann
34b688b3b9
add a LocalAddr to the Session
2017-03-10 00:07:27 +07:00