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