Marten Seemann
adc13be540
implement a memory-optimized time.Time replacement ( #5334 )
...
* implement a memory-optimized time.Time replacement
* monotime: properly handle systems with bad timer resolution (Windows)
* monotime: simplify Since
2025-09-14 08:12:10 +02:00
Marten Seemann
2082d2c6b9
move connection tracking into the Transport ( #5113 )
2025-05-05 05:05:17 +02:00
Marten Seemann
9b3ff059fc
delete closed connections after 3 PTOs ( #5117 )
...
In most cases, this should be earlier than the current
timeout value of 5s.
2025-05-04 12:51:39 +02:00
Marten Seemann
4d39fc31c5
simplify tracking of Transports for connection migration ( #5111 )
...
No functional change expected.
2025-05-03 16:06:23 +02:00
Marten Seemann
97e7657df5
delete retired connection IDs after 3 PTOs ( #5109 )
2025-05-03 14:24:40 +02:00
Marten Seemann
24acc54ef1
add support for connection migration ( #4960 )
2025-03-12 06:11:11 +01:00
Marten Seemann
0a2c2f0a82
extend connection ID generator to interact with multiple Transports ( #4974 )
...
This is needed when multiple paths are in use.
2025-03-12 05:47:58 +01:00
Marten Seemann
eb2f986a06
refactor connection ID generator callback handling ( #4961 )
2025-02-22 12:06:01 +01:00
Marten Seemann
ca26e98781
migrate the connection ID generator tests away from Ginkgo ( #4948 )
2025-02-12 12:00:32 +01:00
Marten Seemann
62947d97f5
simplify generation of stateless reset tokens ( #4858 )
2025-01-11 17:52:59 +08:00
Marten Seemann
c786a46f42
remove unused perspective arg from packetHandlerMap.ReplaceWithClosed ( #4330 )
2024-02-10 19:27:51 -08:00
Marten Seemann
58cedf7a4f
rename module, adjust import paths to quic-go/quic-go ( #3680 )
2023-01-21 19:53:57 -08:00
Marten Seemann
5c7d120b8f
remove unused version parameter form the connIDGenerator
2023-01-18 20:50:17 +13:00
Toby
5fe9f9bd89
chore: fix multiple typos in comments ( #3612 )
...
* chore: fix multiple typos I run into
* Update conn_id_generator_test.go
Co-authored-by: Marten Seemann <martenseemann@gmail.com >
* Update internal/ackhandler/sent_packet_handler_test.go
Co-authored-by: Marten Seemann <martenseemann@gmail.com >
Co-authored-by: Marten Seemann <martenseemann@gmail.com >
2022-11-06 10:59:16 -08:00
Marten Seemann
870fbe7ab0
migrate to Ginkgo v2
2022-10-11 16:38:44 +04:00
Marten Seemann
1aced95d41
use an array instead of a byte slice for Connection IDs
2022-08-29 11:30:31 +03:00
João Oliveirinha
66f6fe0b71
add support for providing a custom Connection ID generator via Config ( #3452 )
...
* Add support for providing a custom ConnectionID generator via Config
This work makes it possible for servers or clients to control how
ConnectionIDs are generated, which in turn will force peers in the
connection to use those ConnectionIDs as destination connection IDs when sending packets.
This is useful for scenarios where we want to perform some kind
selection on the QUIC packets at the L4 level.
* add more doc
* refactor populate config to not use provided config
* add an integration test for custom connection ID generators
* fix linter warnings
Co-authored-by: Marten Seemann <martenseemann@gmail.com >
2022-08-24 04:06:16 -07:00
Marten Seemann
b659414495
use a single Go routine to send copies of CONNECTION_CLOSE packets
2022-08-21 15:41:47 +03:00
Marten Seemann
c3ab9c4ea9
replace all connection IDs at the same time when connection is closed
2022-08-21 14:09:49 +03:00
Marten Seemann
4b17343631
rename the session to connection
2022-03-27 12:50:14 +01:00
Marten Seemann
b2857b5442
remove the RetireBugBackwardsCompatibilityMode
2021-06-26 15:49:02 -07:00
Marten Seemann
592fb9cad9
introduce a dedicated qerr.TransportError and qerr.ApplicationError
2021-05-01 09:38:48 +07:00
Marten Seemann
10217a6f3b
fix issuing of connection IDs when dialing a 0-RTT connections
...
When dialing a 0-RTT connection, the client first restores the transport
parameters from the original connection, and then applies the transport
parameters provided by the server on the new connections.
2021-03-03 14:10:06 +08:00
Marten Seemann
e1f56127df
only use the conn ID backwards compatibility mode with draft-29
2020-10-22 20:33:17 +07:00
Marten Seemann
a1bb39d6ab
introduce a protocol.StatelessResetToken
2020-07-10 19:55:20 +07:00
Marten Seemann
ce5ddc050c
add a flag to disable conn ID generation and the check for retired conn IDs
2020-07-09 10:40:56 +07:00
Marten Seemann
33fc464bac
use PROTOCOL_VIOLATION for invalid RETIRE_CONNECTION_ID frames
2020-07-08 12:24:15 +07:00
Marten Seemann
25db2166dd
enforce that a conn ID is not retired in a packet that uses that conn ID
2020-07-08 12:06:57 +07:00
Marten Seemann
634169b061
don't return a stateless reset token when adding a new connection ID
...
Both server and client didn't make use of the token. It was only used by
the connIDGenerator.
2020-02-03 17:31:47 +01:00
Marten Seemann
3f6030fdb3
count the connection ID used during the handshake towards the limit
2019-12-03 18:25:15 +07:00
Marten Seemann
5a834851a8
route retransmissions of the client's Initial to the right session
2019-11-26 17:01:21 +07:00
Marten Seemann
5d0d0d0679
implement replacing with a closed session for all active connection IDs
2019-11-05 11:00:07 +07:00
Marten Seemann
f948165824
implement removing of all active connection IDs
2019-11-05 11:00:07 +07:00
Marten Seemann
121795977d
implement issuing and retiring of connection IDs
2019-11-05 11:00:07 +07:00