Marten Seemann
fa4f0a9e7a
keep track of ECN counts on received packets
2020-09-14 17:01:34 +07:00
Marten Seemann
dbaacd49bd
add a logging event for dropping 1-RTT keys
2020-09-09 23:53:47 +07:00
Marten Seemann
e0824e3163
move the logging mock implementations to a separate package
2020-09-09 15:15:49 +07:00
Marten Seemann
977dbc828c
move all dependencies on qtls to a separate package
2020-08-18 14:26:23 +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
0c551c893c
trace packets that are sent outside of a connection
2020-07-16 08:20:36 +07:00
Marten Seemann
dc245ca6a3
trace dropped packets in the server
2020-07-15 20:33:58 +07:00
Marten Seemann
ee24d3899e
simplify the Tracer interface by combining the TracerFor... methods
2020-07-11 13:22:52 +07:00
Marten Seemann
f93708aca8
introduce a logging.CloseReason to log the reason a session was closed
...
This also allows us to get rid of the ReceivedStatelessReset() method.
2020-07-10 19:23:32 +07:00
Marten Seemann
7d6ce4ea45
rename the logging.CloseReason to TimeoutReason
2020-07-10 19:17:21 +07:00
Marten Seemann
993d71fd56
move the SupportedVersions slice out of the wire.Header
2020-07-09 12:05:33 +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
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
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
9177500096
bundle ACK frames when packing a packet
2020-06-01 09:56:06 +07:00
Marten Seemann
8d00ec135e
Merge pull request #2569 from lucas-clemente/drop-duplicate-packets
...
drop duplicate packets
2020-05-29 16:39:46 +07:00
Marten Seemann
60a918a108
limit available window to 3x of received bytes before address validation
2020-05-27 09:40:50 +07:00
Marten Seemann
440ff107a3
drop duplicate packets
...
Duplicate detection uses the same data structure that is used to track
received packets to generate ACK frames. That means that after an old
ACK range has been pruned, a severly delayed packet might be incorrectly
detected as a duplicate.
As we wouldn't have acknowledged receipt of this packet, this situation
would have resulted in a retransmission by the peer anyway, so dropping
the packet won't cause a big regression.
2020-05-27 09:20:51 +07:00
Marten Seemann
dc3c96debf
qlog session timeouts
2020-04-17 08:23:25 +07:00
Marten Seemann
416dc485f8
add a qlog method to log version negotiation packets
2020-04-16 09:50:34 +07:00
Marten Seemann
ddab69ca9e
fix logging of the size of received packets
2020-04-07 16:45:15 +07:00
Marten Seemann
a5fc72047e
simplify pruning of old ACK ranges
2020-02-21 15:46:58 +07:00
Marten Seemann
d20c1bfaed
remove unused parameter from SentPacketHandler.ReceivedAck
2020-02-21 10:05:17 +07:00
Marten Seemann
8cde4ab638
refactor how session tickets are sent
...
Previously, RunHandshake() would send the session tickets. Now, the
session initiates the sending of the session ticket. This simplifies the
setup a bit, and it will make it possible to include the RTT estimate in
the session ticket without accessing the RTTStats concurrently.
2020-02-10 17:42:09 +07:00
Marten Seemann
539097fc6e
return a quic.ConnectionState from Session.ConnectionState()
2020-01-30 09:21:09 +07:00
Marten Seemann
bc25840519
use 0.5-RTT data to open the control stream in the http3 server
2020-01-29 10:40:06 +07:00
Marten Seemann
e8cffacc77
Merge pull request #2321 from lucas-clemente/update-mockgen
...
update gomock to v1.4.0, simplify mock generation
2020-01-29 00:01:00 +07:00
Marten Seemann
a93e544c94
remove Session.Close()
...
Session.Close() sends a transport-level error code. Applications should
not be able to call this function, but use CloseWithError() instead.
2020-01-26 17:41:53 +07:00
Marten Seemann
4fa5cfdca9
simplify generation of mocks for internal types
2020-01-26 13:24:35 +07:00
Marten Seemann
c809166cab
update gomock, simplify script for generation mocks of private types
2020-01-26 12:53:41 +07:00
Marten Seemann
40a993e31c
check that the client doesn't switch back to 0-RTT after sending 1-RTT
2020-01-01 18:04:02 +04:00
Marten Seemann
c5f74595ca
receive 0-RTT sealers and openers from qtls when using 0-RTT
2019-12-30 18:39:21 +04:00
Marten Seemann
f7fd5d2848
drop Handshake keys as soon as the handshake completes (as a server)
2019-12-06 10:29:48 +07:00
Marten Seemann
f3e3def599
don't send application data probe packets before the handshake completes
2019-11-12 14:12:24 +07:00
Marten Seemann
9c3b553e47
change PTO to be per packet number space
2019-11-12 11:29:51 +07:00
Marten Seemann
416fe8364e
remove unused return value from session constructor
2019-10-27 15:35:34 +07:00
Marten Seemann
717e6d5c96
implement serving multiple connections at the same time
2019-09-05 13:10:26 +07:00
Marten Seemann
1d392b4276
retransmit frames instead of packets
2019-08-29 15:00:10 +07:00
Marten Seemann
5fa38a83fa
remove tracking of which packet is retransmission of which other packet
2019-08-26 14:38:37 +07:00
Marten Seemann
bb48c9b31a
pass the time a packet was received to the short header opener
...
This saves us one time.Now() syscall per received 1-RTT packet.
2019-08-11 13:33:02 +07:00
Marten Seemann
d5585628d8
remove unneeded return value of ReceivedPacketHandler.ReceivedPacket()
2019-08-05 06:55:26 +07:00
Marten Seemann
f150ed4d4e
rename sentPacketHandler functions to match the recovery draft
2019-07-25 17:10:47 -04:00
Marten Seemann
5a9c593463
rename the KeyPhase to KeyPhaseBit
2019-06-30 17:36:09 +07:00
Marten Seemann
b5764f22a2
save the max_ack_delay in the rttStats
2019-06-29 13:40:56 +07:00
Marten Seemann
73d5d83a1d
pass the largest acked 1-RTT packet number to the crypto setup
2019-06-27 07:42:19 +08:00