Commit Graph

4642 Commits

Author SHA1 Message Date
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
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
Marten Seemann
4163c255e8 implement a basic token bucket pacing algoritm 2020-06-22 14:31:37 +07:00
Marten Seemann
3289d2ce38 Merge pull request #2613 from lucas-clemente/log-send-packet-last
log sent packets right before sending them out
2020-06-22 14:28:37 +07:00
Marten Seemann
4f3c824811 Merge pull request #2611 from lucas-clemente/remove-unused-packet-counter
remove unused packet counter in the receivedPacketTracker
2020-06-22 14:28:29 +07:00
Marten Seemann
5e1301d3ab Merge pull request #2617 from lucas-clemente/proxy-reordering
rewrite the proxy to avoid packet reordering
2020-06-22 14:27:32 +07:00
Marten Seemann
e00b0210fa Merge pull request #2610 from lucas-clemente/fix-flaky-token-test
fix flaky INVALID_TOKEN integration test
2020-06-22 14:26:11 +07:00
Marten Seemann
b7284a4e52 Merge pull request #2621 from l2dy/dialearly
make DialEarly return EarlySession
2020-06-22 12:30:26 +07:00
Zero King
85cd490e9b make DialEarly return EarlySession
Fixes https://github.com/lucas-clemente/quic-go/issues/2619.
2020-06-22 04:52:15 +00:00
Marten Seemann
0baf16ea4e rewrite the proxy to avoid packet reordering 2020-06-20 15:46:06 +07:00
Marten Seemann
89c1045105 log sent packets right before sending them out
This means that the congestion stats logged will already include that packet.
2020-06-18 19:26:44 +07:00
Marten Seemann
a8ddba6a39 remove unused packet counter in the receivedPacketTracker 2020-06-18 11:28:43 +07:00
Marten Seemann
b928ad7e4f fix flaky INVALID_TOKEN integration test 2020-06-18 09:55:24 +07:00
Marten Seemann
c956ca4447 Merge pull request #2608 from lucas-clemente/packet-handler-map-logging
add debug logging to the packet handler map
2020-06-17 16:52:30 +07:00
Marten Seemann
76d7e9f024 add debug logging to the packet handler map 2020-06-17 13:04:34 +07:00
Marten Seemann
10d0b478d0 Merge pull request #2605 from lucas-clemente/increase-min-pacing-delay
increase the minimum pacing delay to 1ms
2020-06-16 11:29:27 +07:00
Marten Seemann
543c1049dd increase the minimum pacing delay to 1ms 2020-06-15 10:14:55 +07:00
Marten Seemann
5f9fc462ea Merge pull request #2600 from lucas-clemente/update-alpn
update the ALPN for draft-29
2020-06-12 10:25:55 +07:00
Marten Seemann
5f37327f1d update the ALPN for draft-29 2020-06-12 10:06:23 +07:00
Marten Seemann
cdf7e06ff1 Merge pull request #2587 from lucas-clemente/update-salts-for-draft-29
update initial salts and test vectors for draft-29
2020-06-11 18:50:22 +07:00
Marten Seemann
552b4a8db0 Merge pull request #2596 from lucas-clemente/connection-refused
rename the SERVER_BUSY error to CONNECTION_REFUSED
2020-06-11 18:17:38 +07:00
Marten Seemann
80e5061243 Merge pull request #2591 from lucas-clemente/reduce-flowcontrol-time-now-calls
reduce calls to time.Now() from the flow controller
2020-06-11 17:11:21 +07:00
Marten Seemann
4103e05b36 Merge pull request #2592 from lucas-clemente/remove-redundant-parenthesis
remove redundant parenthesis and type conversion in flow controller
2020-06-11 17:11:03 +07:00
Marten Seemann
87ed3f2ba9 Merge pull request #2588 from lucas-clemente/retry-rtt
use the receipt of a Retry packet to get a first RTT estimate
2020-06-11 17:10:06 +07:00
Marten Seemann
34ce5bb8b3 Merge pull request #2594 from lucas-clemente/fix-early-session-debug-message
fix debug message when returning an early session
2020-06-11 17:09:44 +07:00
Marten Seemann
2e9b92ab69 rename the SERVER_BUSY error to CONNECTION_REFUSED 2020-06-10 12:13:40 +07:00
Marten Seemann
63e1153d4a fix debug message when returning an early session 2020-06-08 08:52:30 +07:00
Marten Seemann
cea61e364d remove redundant parenthesis and type conversion in flow controller 2020-06-07 11:46:03 +07:00
Marten Seemann
66eeff040b reduce calls to time.Now() from the flow controller 2020-06-07 10:46:24 +07:00
Marten Seemann
6299ef3ab1 use the receipt of a Retry packet to get a first RTT estimate 2020-06-05 16:29:23 +07:00
Marten Seemann
e193568342 update initial salts and test vectors for draft-29 2020-06-05 09:54:14 +07:00
Marten Seemann
05514ab375 Merge pull request #2584 from lucas-clemente/http-body-fixes
fix closing of the http.Request.Body
2020-06-04 16:05:13 +07:00
Marten Seemann
b9f26ac99d Merge pull request #2576 from lucas-clemente/split-pto-calculation
split PTO calculation into a separate function
2020-06-03 16:11:56 +07:00
Marten Seemann
94971976cd Merge pull request #2585 from lucas-clemente/chacha20-test-vector
add a unit test using the ChaCha20 test vector from the draft
2020-06-03 16:11:36 +07:00
Marten Seemann
ff5d0b89fc Merge pull request #2583 from lucas-clemente/fix-frame-sorter-test-seed-generation
fix seed generation in frame sorter tests
2020-06-03 15:55:00 +07:00
Marten Seemann
28fd878778 add a unit test using the ChaCha20 test vector from the draft 2020-06-03 10:02:15 +07:00