Marten Seemann
06aad3b4ba
fix flaky TestTransportReplaceWithClosed ( #5181 )
2025-05-31 07:52:56 +02:00
Marten Seemann
2082d2c6b9
move connection tracking into the Transport ( #5113 )
2025-05-05 05:05:17 +02:00
Marten Seemann
b3f55bb7b7
use assert.AnError consistently in tests ( #5066 )
...
No functional change expected.
2025-04-21 03:52:08 +02:00
Marten Seemann
24acc54ef1
add support for connection migration ( #4960 )
2025-03-12 06:11:11 +01:00
Marten Seemann
751ca8dfb6
fix typo in UDP connection helper function in tests ( #4970 )
2025-02-24 09:39:29 +01:00
Marten Seemann
eb70424fba
fix race condition on concurrent use of Transport.Dial and Close ( #4904 )
2025-01-21 17:52:16 +08:00
Marten Seemann
07bbe8c383
add ErrTransportClosed and use it for Listen/Dial after transport close ( #4883 )
...
* add ErrTransportClosed and use it for Listen/Dial after transport close
* include the original error in the ErrTransportClosed error string
2025-01-21 13:54:40 +08:00
Marten Seemann
62a94758e6
move dialing logic from the client into the Transport ( #4859 )
2025-01-14 16:40:20 +08:00
Marten Seemann
62947d97f5
simplify generation of stateless reset tokens ( #4858 )
2025-01-11 17:52:59 +08:00
Marten Seemann
9950b4c687
remove validation enforcing one Transport per net.PacketConn ( #4851 )
...
It is invalid to use a net.PacketConn in multiple Transports. However,
the validation logic is causing pain when using wrapped net.PacketConns.
It was introduce to guard against incorrect uses of the API when the
Transport was introduced, but this is probably less relevant now than it
was back then.
2025-01-10 09:32:52 +08:00
Marten Seemann
f41a6a644d
migrate the connection tests away from Ginkgo ( #4823 )
2025-01-06 14:48:11 +08:00
Marten Seemann
f337891fc8
trace packets that the transport doesn't send a stateless reset for ( #4826 )
2024-12-31 13:36:16 +08:00
Marten Seemann
c92207c72b
trace dropping of packets by the Transport when no server is set ( #4789 )
2024-12-23 18:54:46 +08:00
Marten Seemann
b493c5d827
migrate the transport tests away from Ginkgo ( #4783 )
...
* migrate the transport tests away from Ginkgo
* simplify mock net.PacketConn implementation
2024-12-23 14:47:44 +08:00
Marten Seemann
363533dc7a
remove the Token field from the StatelessResetError ( #4740 )
...
There's nothing the application could possibly do with this value.
2024-12-02 13:57:46 +08:00
Sukun
d6269b71af
fix deadlock when concurrently closing server and transport ( #4332 )
...
* server: fix deadlock when closing concurrently with transport
* add test for checking no deadlock
2024-03-03 03:00:28 -08:00
Marten Seemann
4790797b58
only check for stateless resets if packet doesn't belong to a connection ( #4322 )
...
This technically violates the stateless reset handling logic described
in RFC 9000 section 10.3.1 (see comment), but it saves one map lookup in
the hot path.
2024-02-09 00:15:58 -08:00
Marten Seemann
07ec3245bd
logging: add a Close function to the Tracer ( #4298 )
...
* logging: add a Close function to the Tracer
* close the Tracer when the Transport is closed
2024-02-02 21:12:15 -08:00
Marten Seemann
dda63b90eb
don't close established connections on Listener.Close, when using a Transport ( #4072 )
...
* don't close established connections on Listener.Close
* only close once
2023-10-26 23:10:13 -07:00
Marten Seemann
a263164d9f
use new gomock feature to generate type-safe methods in mocks ( #4057 )
2023-10-20 22:55:33 -07:00
Marten Seemann
9b82196578
make the logging.Tracer and logging.ConnectionTracer a struct ( #4082 )
2023-09-16 04:58:51 -07:00
Marten Seemann
2797f85fc0
switch from unmaintained golang/mock to go.uber.org/mock ( #4050 )
2023-08-28 02:23:55 -07:00
Marten Seemann
d22854641a
remove the port from the hostname used for tls.Config.ServerName ( #4046 )
2023-08-24 17:53:02 -07:00
Marten Seemann
fe3c4f271d
add a method to retrieve non-QUIC packets from the Transport ( #3992 )
2023-08-19 01:19:17 -07:00
kelmenhorst
0c54d416ee
transport: don't add connection to multiplexer if init fails ( #3931 )
...
* Remove conn from multiplexer when (*Transport).init fails
* Transport: AddConn to multiplexer directly before start listening
* Update transport_test.go
---------
Co-authored-by: Marten Seemann <martenseemann@gmail.com >
2023-06-29 10:35:16 -07:00
kelmenhorst
8352e5dc32
check for uninitialized fields when closing the Transport ( #3908 )
...
* close Transport: check for possibly uninitialized fields
* close Transport: close Conn, as conn might not be initialized
* close Transport: add test case
2023-06-21 02:14:57 -07:00
Marten Seemann
072a602cc1
pass around receivedPacket as struct instead of as pointer ( #3823 )
2023-06-03 00:08:58 -07:00
Marten Seemann
da198b710b
transport: fix flaky stateless reset test ( #3810 )
2023-05-08 01:56:59 -07:00
Marten Seemann
07ad2cbee2
remove Tracer from Config, put ConnectionTracer constructor there
2023-05-02 15:56:49 +02:00
Marten Seemann
ba942715db
remove ConnectionIDLength and ConnectionIDGenerator from the Config
2023-05-02 15:56:49 +02:00
Marten Seemann
b79b532b04
remove StatelessResetKey from the Config, it's now on the Transport
2023-05-02 15:56:49 +02:00
Marten Seemann
8189e75be6
implement the Transport
2023-05-02 15:56:48 +02:00