Commit Graph

6597 Commits

Author SHA1 Message Date
Marten Seemann
d87e2bb649 ackhandler: remove error return value of SentPacketHandler.ResetForRetry (#4834) 2025-01-06 15:05:19 +08:00
Marten Seemann
f41a6a644d migrate the connection tests away from Ginkgo (#4823) 2025-01-06 14:48:11 +08:00
Marten Seemann
9b55fbe0be fix flaky TestSendStreamStopSending (#4832) 2025-01-03 23:17:37 +08:00
Marco Munizaga
ea6d198c3d drain received packets when the connection is closed (#4773)
* clear receivedPackets buffer on connection close

If packets were queued up in our receivedPackets queue when we closed
the connection we would fail reuse them. Eventually the GC would have to
clean this as trash.

* move drain logic to defer in run
2024-12-31 14:38:57 +08:00
Marten Seemann
0b9bd3c4de remove redundant bool return value from sendStream.popStreamFrame (#4828) 2024-12-31 13:51:14 +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
a32d31288e remove hardcoded maximum keep-alive period (#4827)
The keep-alive period can be set using Config.KeepAlivePeriod. While
very large values will likely make keep-alives ineffective (depending on
the NATs in the path), there's no good reason to hardcode a maximum
value.
2024-12-31 11:26:40 +08:00
Marten Seemann
eec74b14c6 fix errors.Is for StreamError and DatagramTooLargeError (#4825) 2024-12-29 17:56:38 +08:00
Marten Seemann
46546ce497 qerr: fix errors.Is for TransportError and ApplicationError (#4824) 2024-12-29 16:42:24 +08:00
Marten Seemann
f45daa0c05 migrate the send conn tests away from Ginkgo (#4817) 2024-12-28 21:20:38 +08:00
Marten Seemann
52757a97e9 fix flaky MITM packet corruption test (#4821) 2024-12-28 19:39:17 +08:00
Marten Seemann
bd2b50d826 migrate the packet handler map tests away from Ginkgo (#4816) 2024-12-28 18:48:28 +08:00
Marten Seemann
1ccf2c3bff fix accounting for lost RESET_STREAM frames in the send stream (#4804) 2024-12-28 17:09:14 +08:00
Marten Seemann
72a934f375 don't enqueue send stream for sending on duplicate Close calls (#4815) 2024-12-28 16:43:16 +08:00
Marten Seemann
810ef27db5 don't generate empty STREAM frames in the send stream (#4812) 2024-12-28 16:21:48 +08:00
Marten Seemann
55687a684f migrate multiplexer tests away from Ginkgo (#4814)
Also fixes the tests to properly clean up the multiplexer.
2024-12-28 16:10:34 +08:00
Marten Seemann
1ea7929453 fix flaky TestSendStreamLargeWrites (#4813) 2024-12-28 16:02:20 +08:00
Marten Seemann
9cf118fc82 fix flaky MITM packet injection test (#4810)
Instead of transferring data in one direction, we should echo the data
sent. This makes sure that a roughly equal number of packets is sent in
each direction.
2024-12-28 15:38:54 +08:00
Marten Seemann
56bebc4e61 migrate the stream tests away from Ginkgo (#4799)
* translate the receive stream tests

* translate the send stream tests

* translate the stream tests
2024-12-28 15:06:24 +08:00
RPRX
3552381374 http3: allow concurrent calls to Body.Close (#4798) 2024-12-28 10:52:17 +08:00
Marten Seemann
f6e7789854 ci: disable SA1029 staticcheck (context key check) in test files (#4802) 2024-12-27 17:31:21 +08:00
Marten Seemann
e653d54b21 migrate the packet packer tests away from Ginkgo (#4788) 2024-12-27 11:53:40 +08:00
Marten Seemann
baee2b4aa0 migrate platform-dependent UDP socket test code away from Ginkgo (#4797) 2024-12-26 15:02:18 +08:00
Marten Seemann
29ad06c8fa migrate the TokenStore tests away from Ginkgo (#4795) 2024-12-24 18:25:15 +08:00
Marten Seemann
abfd38d3f6 migrate the buffer pool tests away from Ginkgo (#4796) 2024-12-24 18:06:38 +08:00
Marten Seemann
484c0ba7b4 wire: don't allocate an empty data slice for empty STREAM frames (#4794)
Minor optimization, but it simplifies testing in some cases.
2024-12-24 13:16:32 +08:00
Marten Seemann
7d54aa41a3 remove unneeded Connection.GetVersion method (#4792)
Instead, use Connection.ConnectionState().Version.
2024-12-23 20:29:26 +08:00
Marten Seemann
0264fd6f4f migrate the config tests away from Ginkgo (#4790) 2024-12-23 19:04:26 +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
848042c69b ci: fix Codecov environment variables (#4786) 2024-12-23 13:34:13 +08:00
Marten Seemann
5dbb46dcc1 utils: remove unused now parameter from RTTStats.UpdateRTT (#4780) 2024-12-22 14:50:31 +08:00
Marten Seemann
a584e58099 flowcontrol: reset the connection send window when 0-RTT is rejected (#4764) 2024-12-22 11:36:14 +08:00
Marten Seemann
95998056d5 update GoMock to v0.5.0 (#4776) 2024-12-21 10:56:18 +08:00
Marten Seemann
1004266ac1 migrate framer tests away from Ginkgo (#4775) 2024-12-21 10:52:51 +08:00
Marten Seemann
468cea250d fix flaky non-QUIC packet multiplexing test (#4766) 2024-12-19 11:32:50 +08:00
Marten Seemann
408ba9f053 use a 24h maximum token age if Transport.MaxTokenAge is unset (#4763) 2024-12-18 19:44:03 +08:00
Marten Seemann
32c9c81962 improve stream limit 0-RTT integration test (#4761) 2024-12-18 14:34:48 +08:00
Marten Seemann
febc07fec7 ci: use go test for integration tests (#4759) 2024-12-18 14:19:35 +08:00
Marten Seemann
0192a17a3d fix flaky multiplex integration test (#4760) 2024-12-18 14:07:03 +08:00
Marten Seemann
9083be4322 fix connection ID length integration test (#4757) 2024-12-18 12:25:09 +08: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
5e198b0db1 fix documentation for ConnectionState.SupportsDatagrams (#4754)
Support for QUIC datagrams (RFC 9221) is a unilateral declaration.
2024-12-14 11:18:11 +08:00
Marten Seemann
2dca400b5c migrate HTTP/3 integration tests away from Ginkgo (#4746) 2024-12-05 14:58:29 +08:00
Marten Seemann
33183297dd qlog: simplify QLOGDIR test by using t.Setenv and t.TempDir (#4745)
* qlog: simplify QLOGDIR test by using t.Setenv

* use testing.T.TempDir
2024-12-05 10:38:23 +08:00
dependabot[bot]
b83d11ac79 ci: bump codecov/codecov-action from 4 to 5 (#4741)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4 to 5.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-03 11:25:00 +08:00
Marten Seemann
71a27d40c9 wait until handshaking connections have terminated when closing server (#4743) 2024-12-03 11:10:13 +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