Marten Seemann
5f3d617dec
convert Connection interface to Conn struct ( #5195 )
2025-06-09 11:51:46 +02:00
Marten Seemann
eb08018a5c
explictly expose all method on the Stream ( #5214 )
...
This hides the fact that a Stream is composed of a ReceiveStream and a
SendStream. This is an implementation detail and should not be exposed.
2025-06-09 11:14:58 +02:00
Marten Seemann
1b07674b19
handle stream-related frame in the streams map ( #5212 )
...
* handle stream-related frame in the streams map
* remove stream manager interface and mock
2025-06-09 10:00:46 +02:00
Marten Seemann
4f23ac2752
remove connection flow controller mock ( #5213 )
...
No functional change expected.
2025-06-09 09:26:23 +02:00
Marten Seemann
6f2a3f1a1c
ci: enable Codecov test analysis ( #5210 )
...
* ci: enable Codecov test analysis
* ci: set package name for pre-built test binary
2025-06-09 09:09:30 +02:00
Marten Seemann
41fce88a63
simplify stream ID handling in the outgoing streams map ( #5209 )
...
No functional change expected.
2025-06-08 14:27:14 +02:00
Marten Seemann
576aa1747f
simplify stream ID handling in the incoming streams map ( #5207 )
...
* simplify stream ID handling in the incoming streams map
No functional change expected.
* protocol: move stream ID constant definition
2025-06-08 12:25:36 +02:00
Marten Seemann
3a53b81692
fix Goroutine leak on version negotiation race with context cancel ( #5203 )
2025-06-08 05:19:46 +02:00
Marten Seemann
9580396fa1
http3: simplify connection closing in the frame parser ( #5196 )
...
No functional change expected.
2025-06-07 07:21:53 +02:00
Marten Seemann
30dede9803
ci: remove leftover check for Ginkgo imports ( #5198 )
2025-06-07 07:09:37 +02:00
Marten Seemann
f41858edc9
mocks: simplify mockgen command to generate MockCryptoSetup ( #5197 )
...
No functional change expected.
2025-06-07 06:49:49 +02:00
Marten Seemann
08be0f73c0
ci: stop using Ginkgo test command ( #5194 )
...
* ci: stop using Ginkgo test command
* ci: remove integrationtest directory for unit tests
2025-06-02 04:38:05 +02:00
Marten Seemann
3eb8a134cb
congestion: migrate tests away from Ginkgo ( #5193 )
2025-06-01 09:52:47 +02:00
Marten Seemann
488ba91262
ackhandler: migrate the ECN tests away from Ginkgo ( #5084 )
2025-06-01 06:40:58 +02:00
Marten Seemann
1169d97e81
convert ReceiveStream interface to a struct ( #5173 )
2025-06-01 06:08:18 +02:00
Marten Seemann
78e77bcfdb
convert SendStream to a struct ( #5172 )
2025-06-01 05:53:53 +02:00
Marten Seemann
eb656df2fe
convert Stream interface to a struct ( #5149 )
2025-06-01 05:40:05 +02:00
Marten Seemann
7ca7a973ef
avoid triggering macOS dual-stack flakiness in HTTP/3 integration tests ( #5187 )
...
Unfortunately, there’s still no fix in sight for https://github.com/golang/go/issues/67226 .
2025-05-31 10:40:20 +02:00
Marten Seemann
eb427b599e
http3: fix flaky TestConnControlStreamFailure ( #5188 )
2025-05-31 10:21:17 +02:00
Marten Seemann
f8a1711ce7
http3: fix flaky TestServerRequestHeaderTooLarge ( #5186 )
2025-05-31 09:58:20 +02:00
Marten Seemann
a39928c556
http3: fix flaky TestClientResponseValidation ( #5183 )
2025-05-31 09:48:45 +02:00
Marten Seemann
06aad3b4ba
fix flaky TestTransportReplaceWithClosed ( #5181 )
2025-05-31 07:52:56 +02:00
Marten Seemann
d5f5dfa9d3
fix flaky TestGracefulShutdownPendingStreams ( #5179 )
2025-05-31 07:33:57 +02:00
Marten Seemann
1d58651358
fix flaky TestHTTPRequestAfterGracefulShutdown ( #5178 )
2025-05-31 07:31:20 +02:00
Marten Seemann
c00a673d98
fix flaky TestConnectionPathValidation ( #5175 )
2025-05-31 06:02:30 +02:00
Marten Seemann
06ee16ee67
fix flaky TestDatagramLoss ( #5174 )
2025-05-31 05:01:47 +02:00
Marten Seemann
4dd059522f
mockquic: remove package ( #5171 )
2025-05-30 08:10:16 +02:00
Marten Seemann
56ff2a58cc
http3: use actual QUIC connection in stream tests ( #5170 )
2025-05-30 06:47:53 +02:00
Marten Seemann
e539fc4e88
http3: fix flaky TestClientStreamHijacking ( #5169 )
2025-05-30 05:11:04 +02:00
Marten Seemann
e354463e64
http3: use actual QUIC connection in frames tests ( #5165 )
...
* http3: use actual QUIC connection in frames tests
* wait for handshake completion
2025-05-30 04:54:48 +02:00
Marten Seemann
9ef305508d
http3: use actual QUIC stream in state tracking stream tests ( #5166 )
...
* http3: use actual QUIC stream in state tracking stream tests
* avoid sleeps
2025-05-30 04:47:17 +02:00
Marten Seemann
d9528a5643
http3: use actual QUIC connection in transport tests ( #5164 )
2025-05-29 15:10:30 +02:00
Marten Seemann
4e81b28694
http3: use actual QUIC connection and stream in conn tests ( #5163 )
...
* http3: use actual QUIC connection and stream in conn tests
* add errror assertion
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-05-29 14:42:36 +02:00
Marten Seemann
77dff99007
http3: use actual QUIC connection and stream in client tests ( #5162 )
2025-05-29 13:06:36 +02:00
Marten Seemann
293d45da4b
http3: use actual QUIC connection and stream in server tests ( #5161 )
2025-05-29 11:06:09 +02:00
Marten Seemann
5c3af443c1
http3: simplify HTTP datagram handling ( #5156 )
2025-05-29 06:23:05 +02:00
Marten Seemann
0b834e6f46
http3: convert Stream from an interface to a struct ( #5154 )
2025-05-29 05:41:40 +02:00
Marten Seemann
2675d0845f
http3: convert RequestStream from an interface to a struct ( #5153 )
2025-05-29 05:08:39 +02:00
Marten Seemann
45e0d5fc7d
qlog: add support for reset_stream_at frame and transport parameter ( #5160 )
2025-05-28 09:43:42 +02:00
Marten Seemann
5d7ee61f5f
wire: add support for the reset_stream_at transport parameter ( #5158 )
2025-05-28 06:30:02 +02:00
Marten Seemann
cb5c3f2aad
implement parsing and writing of RESET_STREAM_AT frames ( #5155 )
...
* implement parsing and writing of RESET_STREAM_AT frames
* wire: add support for parsing RESET_STREAM_AT frames
2025-05-28 05:49:54 +02:00
Marten Seemann
eb7b7df1db
http3: migrate the state tracking stream tests away from Ginkgo ( #5151 )
2025-05-24 05:07:17 +02:00
Marten Seemann
5e5d03cf8d
http3: migrate the stream tests away from Ginkgo ( #5150 )
2025-05-23 16:07:00 +02:00
Marten Seemann
04eab22893
http3: fix off-by-one error when processing the GOAWAY stream ID ( #5145 )
v0.52.0
2025-05-20 08:43:33 +02:00
Marten Seemann
363e0ccafb
http3: implement client-side GOAWAY handling ( #5143 )
...
When receiving a GOAWAY frame, the client:
* immediately closes the connection if there are no active requests
* refuses to open streams with stream IDs larger than the stream ID in
the GOAWAY frame
* closes the connection once the stream count drops to zero
2025-05-18 07:33:43 +02:00
Marten Seemann
06e8ee1bcf
http3: reset stream if the server sends too many 1xx responses ( #5144 )
2025-05-17 06:18:18 +02:00
Ameame
8ef0a71581
store the RTT in the token, not in the session ticket ( #5065 )
...
* remove RTT from session ticket
* save RTT in token
* use mus as rtt unit in token
* move RTT from session state to token on client side
* Rename the rtt variables
Co-authored-by: Marten Seemann <martenseemann@gmail.com >
* Update internal/handshake/token_generator.go
Co-authored-by: Marten Seemann <martenseemann@gmail.com >
* Update token_generator.go
* Update connection.go
* Update token_generator.go
* correct slice access in fuzz.go
* rearrange connection constructor parameters
---------
Co-authored-by: Marten Seemann <martenseemann@gmail.com >
2025-05-16 12:25:58 +02:00
sukun
eb8547ca73
pass ClientInfo to Transport.ConnContext, allow rejection of handshake ( #5122 )
...
* pass *ClientInfo to ConnContext
This allows users to set some state related to the client's remote
address in `ConnContext`.
This also refuses connection early if the returned context is cancelled.
* review comments
* better error assertion
---------
Co-authored-by: Marten Seemann <martenseemann@gmail.com >
2025-05-16 12:03:05 +02:00
Marten Seemann
77c401dcbb
http3: only retry requests for which it is safe to do so ( #5141 )
...
* add an integration test for HTTP/3 redialing logic
* http3: only retry requests for which it is safe to do so
2025-05-16 05:22:13 +02:00
Marten Seemann
d7ca54c602
fix flaky TestHandshakeCloseListener ( #5140 )
2025-05-11 06:54:28 +02:00