Commit Graph

4726 Commits

Author SHA1 Message Date
Marten Seemann
34f0c93e88 don't retire the conn ID that's in use when receiving a retransmission 2020-07-06 17:54:00 +07:00
Marten Seemann
b5a3ff028d fix flaky cancellation integration test 2020-07-06 15:28:29 +07:00
Marten Seemann
6dcc88536d fix crash when the qlog callbacks returns a nil io.WriteCloser 2020-07-06 15:03:48 +07:00
Marten Seemann
d4720e43c7 fix a typo in the logging package test suite 2020-07-06 13:24:47 +07:00
Marten Seemann
084e4feb9b fix flaky server test on Travis 2020-07-06 11:21:08 +07:00
Marten Seemann
05f9428b34 Merge pull request #2643 from lucas-clemente/logging-types
introduce type aliases in the logging package
2020-07-06 09:53:15 +07:00
Marten Seemann
ed120f670c add logging aliases for frames, create a logging.STREAM and CRYPTO frame 2020-07-06 09:21:32 +07:00
Marten Seemann
fea17a671b introduce type aliases for internal types in the logging package 2020-07-06 08:47:42 +07:00
Marten Seemann
d4dc08b208 move all stringifation of qlog events to the qlog package 2020-07-06 08:26:37 +07:00
Marten Seemann
673a9f40e4 Merge pull request #2644 from lucas-clemente/rename-frame-fields
rename frame fields to the names used in the draft
2020-07-06 08:25:51 +07:00
Marten Seemann
838dd6e81a rename StreamFrame.FinBit to Fin 2020-07-02 16:41:43 +07:00
Marten Seemann
865332015c rename ResetStreamFrame.ByteOffset to FinalSize 2020-07-02 16:41:43 +07:00
Marten Seemann
cc340b2887 rename StreamDataBlockedFrame.DataLimit to MaximumStreamData 2020-07-02 16:41:43 +07:00
Marten Seemann
fa07078d81 rename DataBlockedFrame.DataLimit to MaximumData 2020-07-02 16:41:43 +07:00
Marten Seemann
5466de6565 rename MaxStreamDataFrame.ByteOffset to MaximumStreamData 2020-07-02 16:41:43 +07:00
Marten Seemann
f4519cfd32 rename MaxDataFrame.ByteOffset to MaximumData 2020-07-02 16:41:43 +07:00
Marten Seemann
00f8028e52 Merge pull request #2638 from lucas-clemente/logging-tracer
split the qlog package into a logging and a qlog package, use a tracer interface in the quic.Config
2020-07-01 17:09:47 +07:00
Marten Seemann
ac606222e0 replace the GetLogWriter quic.Config option by a Tracer interface 2020-07-01 16:57:03 +07:00
Marten Seemann
4121ea84f4 rename the logging.Tracer to ConnectionTracer 2020-07-01 16:57:01 +07:00
Marten Seemann
7f6eca84da replace the logging.Export() method by a Close() method 2020-07-01 16:54:44 +07:00
Marten Seemann
7fdace490c rename qlogger (member) variables to tracer 2020-07-01 16:53:45 +07:00
Marten Seemann
78ba619a0b split the qlog package into a logging and a qlog package 2020-07-01 16:49:24 +07:00
Marten Seemann
7c42d7941a Merge pull request #2642 from lucas-clemente/fix-http-request-body-read-with-eof
fix HTTP request writing if the Request.Body reads data and returns EOF
2020-07-01 15:49:37 +07:00
Marten Seemann
b8f36f35d5 fix HTTP request writing if the Request.Body reads data and returns EOF 2020-07-01 15:31:24 +07:00
Marten Seemann
5eb2bb8b4c Merge pull request #2640 from lucas-clemente/rewrite-version-negotiation-handling
handle Version Negotiation packets in the session
2020-07-01 15:24:19 +07:00
Marten Seemann
cabfada038 Merge pull request #2634 from lucas-clemente/increase-initial-packet-size
increase the packet size of the client's Initial packet
2020-07-01 15:18:31 +07:00
Marten Seemann
0ea581473e Merge pull request #2637 from lucas-clemente/server-assertion
introduce an assertion in the server
2020-07-01 15:18:17 +07:00
Marten Seemann
a98071b97e Merge pull request #2631 from lucas-clemente/simplify-session-ticket-interface
use the new qtls interface for (re)storing app data with a session state
2020-07-01 14:25:05 +07:00
Marten Seemann
06ad477b9b handle Version Negotiation packets in the session 2020-07-01 14:19:45 +07:00
Marten Seemann
6b42c7a045 Merge pull request #2626 from lucas-clemente/dont-buffer-http-request
remove buffering of HTTP requests
2020-07-01 14:09:20 +07:00
Marten Seemann
7bcb25f18d introduce an assertion in the server 2020-07-01 14:02:14 +07:00
Marten Seemann
2e46110d60 increase the packet size of the client's Initial packet 2020-07-01 14:01:06 +07:00
Marten Seemann
07d4fd0991 use the new qtls interface for (re)storing app data with a session state
Application data is now retrieved and restored via two callbacks on the
qtls.Config. This allows us the get rid of the rather complex wrapping
of the qtls.ClientSessionCache. Furthermore, it makes sure that we only
restore the application data when qtls decides to actually use the
ticket.
2020-07-01 14:00:08 +07:00
Marten Seemann
f926945ae5 Merge pull request #2632 from lucas-clemente/remove-superfluous-0rtt-logging
remove superfluous parameters logged when not doing 0-RTT
2020-07-01 13:55:37 +07:00
Marten Seemann
eb57da6c11 Merge pull request #2636 from lucas-clemente/fix-bandwidth-estimate-for-short-rtts
return an infinite bandwidth if the RTT is zero
2020-07-01 13:54:45 +07:00
Marten Seemann
f65154b01e Merge pull request #2628 from lucas-clemente/drop-go-1.13
drop support for Go 1.13
2020-07-01 13:53:56 +07:00
Marten Seemann
a20c5f8db0 return an infinite bandwidth if the RTT is zero 2020-06-28 14:55:47 +07:00
Marten Seemann
3e454ad2f7 remove superfluous parameters logged when not doing 0-RTT 2020-06-27 14:33:11 +07:00
Marten Seemann
e3a5c31bac add an integration test for streaming HTTP messages in a request 2020-06-27 11:43:00 +07:00
Marten Seemann
0f9fa588b1 remove buffering of HTTP requests
Only the http.ResponseWriter implements the http.Flusher interface.
We need to make sure that writes to the Request.Body are actually sent out.
2020-06-27 10:26:24 +07:00
Marten Seemann
012e62112d drop support for Go 1.13 2020-06-25 15:44:50 +07:00
Marten Seemann
fc047d7904 Merge pull request #2623 from lucas-clemente/remove-superfluos-stream-method
remove superfluos handleResetStreamFrame method on the stream
2020-06-24 15:20:19 +07:00
Marten Seemann
b0b996e118 Merge pull request #2615 from lucas-clemente/bucket-pacer
implement a token-bucket pacing algorithm
2020-06-24 15:18:13 +07:00
Marten Seemann
1607acecc0 Merge pull request #2624 from lucas-clemente/concurrent-stream-write-and-cancelation
gracefully handle concurrent stream writes and cancellations
2020-06-24 15:03:00 +07:00
Marten Seemann
4ff3af3305 gracefully handle concurrent stream writes and cancellations
If the complete slice passed to Stream.Write() is sent out, and the
stream is canceled concurrently (either by calling Stream.CancelWrite()
or by receiving a STOP_SENDING frame), we don't need to return an error
for the Write() call.
2020-06-23 13:07:28 +07:00
Marten Seemann
3271847167 remove superfluos handleResetStreamFrame method on the stream 2020-06-22 16:51:10 +07:00
Marten Seemann
fda00fe1cd use a slightly higher bandwidth for the pacer 2020-06-22 14:31:37 +07:00
Marten Seemann
fe622dd780 use a token bucket pacing algorithm 2020-06-22 14:31:37 +07:00
Marten Seemann
312b8d37f0 use a callback to pass the bandwidth to the pacer 2020-06-22 14:31:37 +07:00
Marten Seemann
467e553f2b limit the pacing duration to the minimum pacing delay 2020-06-22 14:31:37 +07:00