Marten Seemann
fcb0d6cfdc
record InSlowStart and InRecovery
2019-06-20 22:58:01 +08:00
Marten Seemann
7c7b1ba9c7
add tracing for lost packets
2019-06-20 22:58:01 +08:00
Marten Seemann
22cbb344af
move the TransportState struct to the quictrace package
...
Prevents an import loop when passing the tracer to the ackhandler.
2019-06-20 22:58:01 +08:00
Marten Seemann
267d11ee66
add tracing for sent and received packets
2019-06-20 22:58:01 +08:00
Marten Seemann
a4989c3d9c
drop Initial and Handshake keys when receiving the first 1-RTT ACK
2019-05-30 14:19:26 +08:00
Marten Seemann
4834962cbd
add a function to drop received packets of a certain encryption level
2019-05-30 14:19:11 +08:00
Marten Seemann
4d5b4fd790
add a function to drop sent packets of a certain encryption level
2019-05-30 13:47:16 +08:00
Marten Seemann
195bdc9944
remove unused handshakeComplete member variable from sent packet handler
2019-05-30 13:47:16 +08:00
Marten Seemann
ea33339d26
correct the bytes in flight when dropping crypto packets
2019-05-30 01:47:03 +08:00
Marten Seemann
8afed81c49
Merge pull request #1907 from lucas-clemente/can-send
...
use PRR when deciding if we're congestion limited
2019-05-20 08:44:33 +01:00
Marten Seemann
3e67c12d76
use PRR when deciding if we're congestion limited
2019-05-19 16:49:55 +02:00
Marten Seemann
fccdb1c558
use Reno instead of Cubic
2019-05-19 15:57:20 +02:00
Marten Seemann
e06961266c
introduce an invalid packet number to simplify ackhandler and congestion
2019-05-14 06:41:13 +03:00
Marten Seemann
4e6df9041d
use the max_ack_delay when computing the PTO duration
2019-05-08 14:47:46 +09:00
Marten Seemann
537737935c
limit the ACK delay by max_ack_delay
2019-05-08 14:34:56 +09:00
Marten Seemann
0e33f3c0da
don't send an ACK delay time for Initial and Handshake ACKs
2019-05-08 14:30:17 +09:00
Marten Seemann
f981339bc0
ignore the delay field for ACKs sent in Initial and Handshake packets
2019-05-08 14:15:42 +09:00
Marten Seemann
6c27967c8a
include the timer granularity in the advertised max_ack_delay
2019-05-08 13:26:08 +09:00
Marten Seemann
af8c03ebaf
advertize the max_ack_delay in the transport parameters
2019-05-08 13:22:37 +09:00
Marten Seemann
5d999f3927
handle ACKs separately in the sent packet handler packet struct
2019-04-21 20:47:27 +09:00
Marten Seemann
450d777a51
use the timer granularity as a minimum for the loss detection timer
2019-04-16 11:34:49 +09:00
Marten Seemann
2c27cc0090
rename the reordering threshold constant in the sent packet handler
2019-04-16 11:32:01 +09:00
Marten Seemann
9dc29effdf
rename loss delay variable in sent packet handler
...
That's how it's called in the WG draft pseudo code.
2019-04-16 11:25:58 +09:00
Marten Seemann
b5336be518
rename retransmittable to ack-eliciting
2019-04-12 13:25:39 +09:00
Marten Seemann
7f9861bf7e
reset the send mode after receiving an ACK when already in PTO mode
2019-04-09 10:24:45 +09:00
Marten Seemann
662041649f
use the error names from the draft
2019-03-06 13:45:05 +09:00
Marten Seemann
9c09e84765
use IETF QUIC transport error codes
2019-03-06 13:43:18 +09:00
Marten Seemann
f6642ff948
use separate packet number spaces for sending packets
...
Packet numbers now start at 0 for every packet number spaces.
Furthermore, an ACK frame now only acknowledges packets in the packet
number space it was sent in.
2019-02-11 20:13:05 +08:00
Marten Seemann
b35c161f2e
don't ignore reordered ACKs
2019-02-11 20:13:05 +08:00
Marten Seemann
631947ad7d
use shorter variable name in the sent packet handler
2019-02-11 20:13:05 +08:00
Marten Seemann
17f4ebad64
handle Retry packets in the session
2019-02-04 15:38:47 +08:00
Marten Seemann
a303ad9745
always send ACKs in the correct packet number space
2019-01-11 11:12:07 +07:00
Marten Seemann
258e43ab95
rename the receivedPacketHandler to receivedPacketTracker
2019-01-11 10:52:39 +07:00
Marten Seemann
5ccc367462
start ignoring packets in ACK frames only after the handshake completed
2019-01-11 10:52:39 +07:00
Marten Seemann
5e3c96024a
correctly set the ack delay in an ACK of packet number 0
2019-01-05 13:05:14 +07:00
Marten Seemann
77d48248ff
unify TLP and RTO
...
This doesn't yet implement the persistent congestion detection, since
the specification of that still is in flux.
2019-01-01 09:53:09 +07:00
Marten Seemann
cf7f2dc661
rename handshake packets to crypto packets
2018-12-28 13:17:31 +07:00
Marten Seemann
7cb84c4e06
Merge pull request #1685 from lucas-clemente/increase-pn-after-vn-and-retry
...
increase the packet number after version negotiation and retry
2018-12-27 17:00:58 +07:00
Marten Seemann
178ac0dacb
keep increasing the packet number after version negotiation and retry
2018-12-22 22:15:35 +06:30
Marten Seemann
1abf9e1b37
start with packet number 0
2018-12-22 21:25:14 +06:30
Marten Seemann
a4128ed469
accept multiple ACKs sent in the same packet
2018-12-21 21:10:23 +06:30
Marten Seemann
faed2ba30a
remove version dependency of packet number inferring
2018-11-26 22:46:08 +07:00
Marten Seemann
c37b698f68
Merge pull request #1596 from lucas-clemente/internalize-errors
...
internalize the qerr package
2018-11-12 15:54:39 +07:00
Marten Seemann
3ffea5d8c4
internalize the qerr package
2018-11-11 12:44:16 +07:00
Marten Seemann
387613aa20
rename the BLOCKED from to DATA_BLOCKED
2018-11-10 09:05:06 +07:00
Marten Seemann
022189dfda
rename the RST_STREAM frame to RESET_STREAM frame
2018-11-04 12:26:02 +07:00
Marten Seemann
dbbbfd955e
move tracking of skipped packets to the packet number generator
2018-11-02 17:14:31 +07:00
Marten Seemann
c81cd92daf
return the packet number length when peek a new packet number
2018-11-02 17:14:31 +07:00
Marten Seemann
ebbf839fa4
move the packet number generator to the ackhandler package
2018-11-02 17:14:31 +07:00
Marten Seemann
3266e36811
drop support for gQUIC
2018-10-30 10:20:39 +07:00