Marten Seemann
5f3d617dec
convert Connection interface to Conn struct ( #5195 )
2025-06-09 11:51:46 +02:00
Marten Seemann
4c6aca6b43
remove stray assertion that handshakes are running from tests ( #5123 )
...
The RunHandshake method this function was basing its assertion on was
removed a long time ago.
2025-05-06 09:13:38 +07:00
Marten Seemann
267cca773b
switch from math/rand to math/rand/v2 ( #5045 )
...
* switch from math/rand to math/rand/v2
* switch away from golang.org/x/exp/rand
2025-04-19 09:01:22 +02:00
Marten Seemann
751ca8dfb6
fix typo in UDP connection helper function in tests ( #4970 )
2025-02-24 09:39:29 +01:00
Marten Seemann
6033030017
proxy: add source and destination address to delay and drop callbacks ( #4964 )
2025-02-22 12:21:40 +01:00
Marten Seemann
79bae396b4
proxy: rename to Proxy, refactor initialization ( #4921 )
...
* proxy: rename to Proxy, refactor initialization
* improve documentation
2025-01-25 11:13:33 +01:00
Marten Seemann
3886be4e95
introduce a test helper function to create a UDP socket on localhost ( #4756 )
2024-12-17 23:30:00 +08:00
Marten Seemann
8cb88ee145
fix timeout integration tests on Windows ( #4758 )
...
The Go timer resolution on Windows leaves a lot to be desired. By
bumping the timeout duration the test will take longer, but at least it
won't be flaky.
2024-12-17 21:22:42 +08:00
Marten Seemann
691086db7f
migrate integration tests away from Ginkgo ( #4736 )
...
* use require in benchmark tests
* translate the QLOGDIR test
* translate handshake tests
* translate the handshake RTT tests
* translate the early data test
* translate the MTU tests
* translate the key update test
* translate the stateless reset tests
* translate the packetization test
* translate the close test
* translate the resumption test
* translate the tracer test
* translate the connection ID length test
* translate the RTT tests
* translate the multiplexing tests
* translate the drop tests
* translate the handshake drop tests
* translate the 0-RTT tests
* translate the hotswap test
* translate the stream test
* translate the unidirectional stream test
* translate the timeout tests
* translate the MITM test
* rewrite the datagram tests
* translate the cancellation tests
* translate the deadline tests
* translate the test helpers
2024-12-16 23:43:59 +08:00
Marten Seemann
8451b0afd7
utils: remove scarcely used time helper functions ( #4593 )
2024-07-23 14:16:12 -07: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
30f9c0139f
use typed atomics in integration tests ( #4120 )
...
* use typed atomic in integration tests
* use an atomic.Bool in hotswap test
2023-10-24 21:46:29 -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
e1fcac3e46
set the handshake timeout to twice the handshake idle timeout ( #4063 )
2023-09-09 06:12:37 -07:00
Benedikt Spies
f57f876446
respect minimum idle timeout of 3 PTOs ( #3909 )
2023-06-20 01:47:29 -07:00
Marten Seemann
b425465bf9
fix flaky timeout integration test ( #3818 )
2023-05-12 00:12:40 -07:00
Marten Seemann
07ad2cbee2
remove Tracer from Config, put ConnectionTracer constructor there
2023-05-02 15:56:49 +02:00
Marten Seemann
8189e75be6
implement the Transport
2023-05-02 15:56:48 +02:00
Marten Seemann
1b64b13750
make Listener a struct, not an interface
2023-05-01 14:41:16 +02:00
Marten Seemann
aee7706d5d
clean up dial functions
...
* add a context to all Dial functions
* remove the explicit Dial{*}Context functions
2023-05-01 13:59:54 +02:00
Marten Seemann
d683b841c4
remove the host parameter from all dial functions
2023-05-01 13:59:54 +02:00
Marten Seemann
dee98638a4
use atomic.Bool from the standard library
2023-02-04 17:44:57 +13: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
24be84cd00
introduce separate tracing calls for sent long and short header packets
2023-01-17 21:53:37 +13:00
Marten Seemann
870fbe7ab0
migrate to Ginkgo v2
2022-10-11 16:38:44 +04:00
Marten Seemann
ed15a94703
split the tracing function for received short and long header packets
2022-08-29 15:32:27 +03:00
Marten Seemann
7fde609eef
make sure RunHandshake has returned before closing, improve MITM tests
2022-08-13 17:42:45 +03:00
Nuno Diegues
4c96cf75bf
make the keep alive interval configurable ( #3444 )
...
* Make keep alive configurable
* Fix unit tests
2022-06-09 08:31:37 -07:00
Marten Seemann
fda9f72161
replace usages of session in variable names
2022-03-27 11:27:25 +01:00
Marten Seemann
e71c236232
rename the Session to Connection
2022-03-27 11:27:23 +01:00
Marten Seemann
68e468a3bc
drop support for Go 1.15
2021-08-05 14:18:56 +02:00
Marten Seemann
34322f2214
export the IdleTimeoutError and the HandshakeTimeoutError
2021-05-01 09:39:52 +07:00
Marten Seemann
42b61729bd
expose the TransportError and the ApplicationError
2021-05-01 09:38:49 +07:00
Marten Seemann
592fb9cad9
introduce a dedicated qerr.TransportError and qerr.ApplicationError
2021-05-01 09:38:48 +07:00
Marten Seemann
f71997597c
use a tracer to determine the idle timeout period in the integration test
2021-03-20 12:17:59 +08:00
Marten Seemann
ac87292e87
start path MTU discovery when the handshake completes
2021-03-03 12:00:51 +08:00
Marten Seemann
11c5c548b6
improve timeout measurement in the timeout test
...
When not sending any packets, the idle timeout starts when receiving the
HANDSHAKE_DONE frame (on the client side), not when the handshake completes.
2021-02-18 09:59:04 +08:00
Marten Seemann
9693a46d31
Merge pull request #2162 from lucas-clemente/datagram
...
implement the datagram draft
2020-12-17 11:22:40 +07:00
Marten Seemann
1728a6c90c
add an integration test for datagram transfers
2020-12-09 15:47:24 +07:00
Marten Seemann
595f6f814a
introduce a quic.Config.HandshakeIdleTimeout, remove HandshakeTimeout
2020-12-08 16:12:39 +07:00
Yingrong Zhao
36add0e7a0
client: Add DialEarlyContext and DialAddrEarlyContext API
2020-10-07 22:20:28 -04:00
Marten Seemann
980c840359
test that both endpoints time out in the timeout integration test
2020-09-05 18:10:44 +07:00
Marten Seemann
260356140f
remove ACK decimation
...
The benefits of this are unclear when using Reno / Cubic.
2020-07-28 10:03:05 +07:00
Marten Seemann
ee24d3899e
simplify the Tracer interface by combining the TracerFor... methods
2020-07-11 13:22:52 +07:00
Marten Seemann
1a0b642ac1
add integration tests using faulty packet conns
2020-07-10 18:27:41 +07:00
Marten Seemann
a5b967a309
add a command line option to export qlogs from the integration tests
2020-03-26 20:37:08 +07:00
Luke Tucker
6407f5bf68
Fix keepalive ping ( #2316 )
...
The firstAckElicitingPacketAfterIdleSendTime condition was inverted
in a recent PR, maybe just a typo. This was causing only one ping
to be sent during periods of no activity. The ack from the first
keepalive ping causes firstAckElicitingPacketAfterIdleSentTime
to be set to zero. If there is no further activity, it will remain
zero and prevent further keepalive pings.
2020-01-27 11:13:54 +07:00
Marten Seemann
27549c5665
use the minimum of the two peers' max_idle_timeouts
2019-12-11 14:04:33 +04:00
Marten Seemann
7827cd61bc
pass the raw packet to the Drop- and Delay callbacks of the proxy
2019-07-01 14:46:58 +07:00
Marten Seemann
5550ba2c3b
add a context to Session.Accept{Uni}Stream
2019-06-22 19:37:11 +08:00