Marten Seemann
3c0726e132
move the random number generator to the utils package
2021-02-18 09:58:34 +08:00
Marten Seemann
868127b6b4
Merge pull request #2940 from lucas-clemente/packet-number-skipping-cryptographic-random
...
use cryptographic random for determining skipped packet numbers
2021-01-17 14:38:16 +08:00
Marten Seemann
c5b610f6a5
remove unneeded check in receivedPacketHandler.IsPotentiallyDuplicate
...
The application data packet number space is never dropped.
2021-01-11 16:56:34 +08:00
Marten Seemann
31de6244e2
fix flaky sentPacketHandler test
2020-12-21 18:07:31 +07:00
Marten Seemann
6b87198c10
use cryptographic random for determining skipped packet numbers
2020-12-15 17:46:41 +07:00
Marten Seemann
d3abf0ec3f
fix logging of bytes_in_flight when receiving an ACK
...
The tracing call needs to be issued after subtracting acknowledged and
lost packets from the bytes_in_flight.
2020-12-15 12:04:12 +07:00
Marten Seemann
431dff2172
reduce the number of skipped packet numbers for long connections
2020-12-06 12:54:39 +07:00
Marten Seemann
416d88990b
only skip packet numbers in the application data packet number space
2020-12-06 12:54:39 +07:00
Marten Seemann
e8e6c7b47e
use non-cryptographic random to generate skipped packet numbers
2020-12-06 12:54:39 +07:00
Marten Seemann
02b700804f
remove support for quic-trace
2020-12-05 23:13:45 +07:00
Marten Seemann
1ade038211
Merge pull request #2899 from lucas-clemente/dont-allocate-for-acked-packets
...
don't allocate for acked packets
2020-12-05 21:08:44 +07:00
Marten Seemann
8d14d762e5
cache the slice used when detecting acked packets
2020-11-22 11:39:28 +07:00
Marten Seemann
fb6a536adb
add a unit test for ACK of skipped packet detection
2020-11-22 11:02:48 +07:00
Marten Seemann
85fd5a2ec5
avoid allocating when detecting lost packets
2020-11-22 10:50:49 +07:00
Marten Seemann
ec55b6d9de
rename loop variable
2020-11-22 10:48:12 +07:00
Marten Seemann
0c2f562411
allow an amplification factor of 3.x
2020-11-06 14:16:11 +07:00
Marten Seemann
6d00bdff3f
Merge pull request #2841 from lucas-clemente/pad-server-initials
...
pad datagrams containing ack-eliciting Initial packets sent by the server
2020-10-30 15:12:03 +07:00
Marten Seemann
8752576f26
run gofumpt, enable the gofumpt linter
2020-10-26 09:33:35 +07:00
Marten Seemann
876ccd899b
CONNECTION_CLOSE frames are not ack-eliciting
2020-10-25 13:22:33 +07:00
Marten Seemann
55a07c34ee
add the exhaustive linter
2020-10-05 13:47:57 +07:00
Marten Seemann
bbd9fa4862
remove the EncryptionUnspecified enum value
2020-10-05 13:17:06 +07:00
Marten Seemann
6ecbc4186e
Merge pull request #2786 from lucas-clemente/fix-flaky-packet-number-skipping-test
...
fix flaky packet number skipping test
2020-09-17 23:02:25 +07:00
Marten Seemann
5eaab73043
fix flaky packet number skipping test
2020-09-15 10:58:12 +07:00
Marten Seemann
fa4f0a9e7a
keep track of ECN counts on received packets
2020-09-14 17:01:34 +07:00
Marten Seemann
3ef77b0c1a
add an assertion that bytes_in_flight never becomes negative
2020-09-14 10:32:32 +07:00
Marten Seemann
8ea663d04a
skip a packet number when sending a 1-RTT PTO packet
2020-09-11 11:16:48 +07:00
Marten Seemann
12c9427f43
save dummy packets in the packet history when skipping packet numbers
2020-09-11 11:01:30 +07:00
Marten Seemann
0044a69d73
also pass non-ack-eliciting packets to packet history (but don't save)
2020-09-11 11:01:29 +07:00
Marten Seemann
8f4257a883
delete unacknowledged packets from the packet history after 3 PTOs
2020-09-10 18:51:05 +07:00
Marten Seemann
a44c4f517f
Merge pull request #2747 from lucas-clemente/simplify-sent-packet-history
...
refactor RTT measurements to simplify the sentPacketHistory
2020-09-09 23:50:26 +07:00
Marten Seemann
ad40c9cc83
fix dropping of 0-RTT packets
2020-09-07 16:00:16 +07:00
Marten Seemann
c7af1dc045
refactor RTT measurements to simplify the sentPacketHistory
2020-09-06 14:16:11 +07:00
Marten Seemann
166d91ae0f
fix typo in error message in sent packet handler
2020-08-21 13:31:02 +07:00
Marten Seemann
03a1db641f
Merge pull request #2689 from lucas-clemente/dont-arm-app-data-pto-before-handshake-confirmed
...
only arm the application data PTO timer after the handshake is confirmed
2020-07-29 07:58:29 +07:00
Marten Seemann
6b7f204676
simplify the maybeQueueAck method in the receivedPacketTracker
2020-07-28 10:03:06 +07:00
Marten Seemann
260356140f
remove ACK decimation
...
The benefits of this are unclear when using Reno / Cubic.
2020-07-28 10:03:05 +07:00
Marten Seemann
8db76ab9c2
only arm the application data PTO timer after the handshake is confirmed
2020-07-27 16:40:21 +07:00
Marten Seemann
0b7efe10d1
trace congestion state changes
2020-07-23 11:53:59 +07:00
Marten Seemann
741dc28d74
move the RTTStats to the utils package
...
The RTTStats are used by the logging package. In order to instrument the
congestion package, the RTTStats can't be part of that package any more
(to avoid an import loop).
2020-07-23 11:53:08 +07:00
Marten Seemann
743ba962aa
reset the PTO count before setting the timer when dropping a PN space
2020-07-08 11:51:56 +07:00
Marten Seemann
4121ea84f4
rename the logging.Tracer to ConnectionTracer
2020-07-01 16:57:01 +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
fe622dd780
use a token bucket pacing algorithm
2020-06-22 14:31:37 +07:00
Marten Seemann
a8ddba6a39
remove unused packet counter in the receivedPacketTracker
2020-06-18 11:28:43 +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
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