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