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
Marten Seemann
83695e6f71
don't close the stream when the http.Request.Body is closed
...
On the server side, the http.Request is consumed by the HTTP handler.
The HTTP handler may close the body (it doesn't have to though). In any
case, closing the stream is the wrong thing to do, since that closes the
write side of the stream. All we want to do is cancel the stream (if the
EOF hasn't been read yet).
2020-06-02 14:54:21 +07:00
Marten Seemann
5720053807
simplify stream handling in the http3.Server
2020-06-02 14:39:48 +07:00
Marten Seemann
dda9c27d07
only send a single packet to unblock the server during the handshake
2020-06-01 12:39:36 +07:00
Marten Seemann
d137e7672d
implement a GetPTOTimeAndSpace() as outlined in the draft
2020-06-01 11:18:57 +07:00
Marten Seemann
96acf36cbd
rename sentPacketHandler.getEarliestLossTimeAndSpace to getLossTimeAndSpace
2020-06-01 11:18:57 +07:00
Marten Seemann
feb3e9a713
rename lastSentAckElicitingPacketTime to lastAckElicitingPacketTime
2020-06-01 11:18:57 +07:00
Marten Seemann
c8e5bb5b50
Merge pull request #2543 from lucas-clemente/bundle-acks
...
make sure that ACK frames are bundled with data
2020-06-01 10:15:26 +07:00
Marten Seemann
004d372ed6
fix seed generation in frame sorter tests
2020-06-01 09:59:54 +07:00
Marten Seemann
b91874a0e5
add an integration test testing that ACKs are bundled
2020-06-01 09:56:07 +07:00
Marten Seemann
9177500096
bundle ACK frames when packing a packet
2020-06-01 09:56:06 +07:00
Marten Seemann
fa381fffa0
add a function to tell if the framer has data
2020-06-01 09:31:11 +07:00
Marten Seemann
df55c30c86
add a function to tell if there's app data in the retransmission queue
2020-06-01 09:31:11 +07:00
Marten Seemann
77b1021a54
make it possible to generate an ACK frame, even if no ACK is queued yet
2020-06-01 09:31:11 +07:00
Marten Seemann
bee5ef624f
determine if a received packet is new (and not a duplicate / delayed packet)
2020-06-01 09:31:11 +07:00