Commit Graph

5168 Commits

Author SHA1 Message Date
Marten Seemann
fb995161e7 release the packet buffer after sending a CONNECTION_CLOSE in the server 2020-12-14 11:51:09 +07:00
Marten Seemann
d226f70cd7 allow up to 20 byte for the initial connection IDs 2020-12-14 11:32:43 +07:00
Marten Seemann
c8626d89e5 assert that no undecryptable packets are queueud after the handshake 2020-12-11 12:17:04 +07:00
Marten Seemann
02139a4743 delete the slice of undecrytable packets when the handshake completes 2020-12-11 12:13:21 +07:00
Marten Seemann
736af5698a don't preallocate a slice for undecryptable packets
Under normal conditions, we don't expect to receive any undecryptable
packets. We expect to receive a few when there's packet loss and / or
reordering during the handshake, but even in that case the number will
most likely be smaller than protocol.MaxUndecryptablePackets.
2020-12-11 12:12:17 +07:00
Marten Seemann
1728a6c90c add an integration test for datagram transfers 2020-12-09 15:47:24 +07:00
Marten Seemann
98145368cd implement receiving of DATAGRAM frames 2020-12-09 15:31:23 +07:00
Marten Seemann
791f896f80 implement sending of datagrams 2020-12-09 15:31:23 +07:00
Marten Seemann
fdaac4f32e send the max_datagram_frame_size transport parameter 2020-12-09 15:31:23 +07:00
Marten Seemann
fd41e8fa62 reject DATAGRAM frames if datagram support is not enabled 2020-12-09 15:31:23 +07:00
Marten Seemann
913ddc5081 add a quic.Config option for DATAGRAM frames 2020-12-09 15:31:23 +07:00
Marten Seemann
231bc918d4 implement packing of DATAGRAM frames 2020-12-09 15:31:23 +07:00
Marten Seemann
c47ccab930 implement a datagram queue 2020-12-09 15:31:23 +07:00
Marten Seemann
e951646fb6 tell if a peer supports DATAGRAM frames in the ConnectionState 2020-12-09 15:31:23 +07:00
Marten Seemann
356c69944e return a quic.ConnectionState from Session.ConnectionState() 2020-12-09 15:31:23 +07:00
Marten Seemann
021f70aac5 implement the max_datagram_frame_size transport parameter 2020-12-09 15:31:23 +07:00
Marten Seemann
d6eff22f9a introduce a sentinel ByteCount value 2020-12-09 15:31:23 +07:00
Marten Seemann
c4de242751 add a MaxDataLen function for DATAGRAM frames 2020-12-09 15:31:23 +07:00
Marten Seemann
0582228e00 make it possible to log DATAGRAM frames 2020-12-09 15:31:23 +07:00
Marten Seemann
eefd2b73f7 implement parsing and writing of the DATAGRAM frames 2020-12-08 20:16:32 +07:00
Marten Seemann
595f6f814a introduce a quic.Config.HandshakeIdleTimeout, remove HandshakeTimeout 2020-12-08 16:12:39 +07:00
Marten Seemann
deacefdd34 Merge pull request #2891 from lucas-clemente/move-integration-tests-to-github-actions
move integration tests to GitHub Actions, disable Travis
2020-12-08 16:02:48 +07:00
Marten Seemann
02bdce9c05 move integration tests to GitHub Actions, disable Travis 2020-12-08 15:17:17 +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
325bc1694d Merge pull request #2927 from lucas-clemente/avoid-syscall
use golang.org/x/sys/unix instead of syscall
2020-12-06 12:19:23 +07:00
Marten Seemann
2525abb2c5 Merge pull request #2921 from lucas-clemente/qlog-connection-closed
add support for the connection_closed qlog event
2020-12-06 12:14:38 +07:00
Marten Seemann
f59cd928f8 use golang.org/x/sys/unix instead of syscall 2020-12-06 12:06:15 +07:00
Marten Seemann
2bf6c6aea4 add support for the connection_closed qlog event 2020-12-06 12:01:54 +07:00
Marten Seemann
2a52a9f9f0 Merge pull request #2863 from lucas-clemente/qlog-token-logging
qlog tokens in NEW_TOKEN frames, Retry packets and Initial packets
2020-12-06 11:44:02 +07:00
Marten Seemann
b83e156e9f log tokens in NEW_TOKEN frames, Retry packets and Initial packets 2020-12-06 11:26:37 +07:00
Marten Seemann
b623a10b54 Merge pull request #2758 from lucas-clemente/qlog-packet-type
qlog the packet_type as part of the packet header, not the event itself
2020-12-06 11:20:03 +07:00
Marten Seemann
a7ddb348d4 Merge pull request #2736 from lucas-clemente/qlog-ndjson
use the new, streaming-friendly NDJSON-based qlog encoding
2020-12-06 11:19:39 +07:00
Marten Seemann
dd93d9640c use the new, streaming-friendly NDJSON-based qlog encoding 2020-12-06 11:04:13 +07:00
Marten Seemann
4f557317a0 qlog the packet_type as part of the packet header, not the event itself 2020-12-06 10:51:21 +07:00
Marten Seemann
5a0ce24265 Merge pull request #2909 from lucas-clemente/qlog-generic-event
add a generic Debug() function to the connection tracer
2020-12-06 09:50:25 +07:00
Marten Seemann
df38b0a874 Merge pull request #2911 from lucas-clemente/replace-unnecessary-time-now-call
remove unnecessary call to time.Now() when sending a packet
2020-12-06 09:46:03 +07:00
Marten Seemann
ff1f433c36 add a generic Log() function to the connection tracer 2020-12-06 09:33:38 +07:00
Marten Seemann
ca671ac325 remove unnecessary call to time.Now() when sending a packet 2020-12-06 09:25:19 +07:00
Marten Seemann
5048006fc1 Merge pull request #2913 from lucas-clemente/remove-quictrace
remove support for quic-trace
2020-12-06 09:23:06 +07:00
Marten Seemann
eae8ad2fbb Merge pull request #2887 from lucas-clemente/reduce-num-ack-ranges
reduce the maximum number of ACK ranges
2020-12-05 23:18:43 +07:00
Marten Seemann
02b700804f remove support for quic-trace 2020-12-05 23:13:45 +07:00
Marten Seemann
6148ea9a46 Merge pull request #2914 from lucas-clemente/check-go-mod-tidy
check that go.mod is tidied
2020-12-05 21:16:21 +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
1beb6f9649 Merge pull request #2898 from lucas-clemente/dont-allocate-for-lost-packets
avoid allocating when detecting lost packets
2020-12-05 21:05:45 +07:00
Marten Seemann
31b05bc249 Merge pull request #2892 from lucas-clemente/optimize-packet-handler-map-map-keys
use the string optimization for map keys in the packet handler map
2020-12-05 21:05:09 +07:00
Marten Seemann
5ff2222e38 Merge pull request #2890 from lucas-clemente/optimize-incoming-streams-map-map-access
use a single map in the incoming streams map
2020-12-05 21:04:15 +07:00
Marten Seemann
d1bc0c20b9 Merge pull request #2923 from lucas-clemente/receive-buffer-warning
improve the warning about the UDP receive buffer size
2020-12-04 10:37:51 +07:00
Marten Seemann
afe287e1e0 Merge pull request #2897 from lucas-clemente/immediately-delete-stateless-reset-tokens
immediately remove reset tokens when retiring a connection ID
2020-12-04 10:14:28 +07:00