Commit Graph

57 Commits

Author SHA1 Message Date
Marten Seemann
fea19fc3ec update to Go 1.25, drop Go 1.23, use go tool for gomock (#5283)
* update to Go 1.25, drop support for Go 1.23

* ci: update golangci-lint to v2.4.0

* use new go tool command for gomock / mockgen

* also update Go version used for oss-fuzz
2025-08-16 06:14:01 +02:00
Marten Seemann
5f3d617dec convert Connection interface to Conn struct (#5195) 2025-06-09 11:51:46 +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
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
2082d2c6b9 move connection tracking into the Transport (#5113) 2025-05-05 05:05:17 +02: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
af9fa7a555 queue stream-related control frames in the respective stream (#4610)
* use a separate method for queueing control frames from the streams map

* queue stream-related control frames in the respective stream
2024-08-04 15:42:56 -07:00
Marten Seemann
86d5044eec remove trivial mock implementation of the cryptoStream interface (#4620)
* remove trivial mock implementation of the cryptoStream interface

No functional change expected.

* fix tests
2024-08-03 16:57:03 -07:00
Marten Seemann
42f04d4e02 refactor frame packing to logic to not access the streams map (#4596)
* avoid accessing the streams map when packing stream data

* avoid accessing the streams map when packing flow control frames

* remove streamGetter interface
2024-07-28 12:32:54 -07:00
Marten Seemann
9b70412b0f remove mock TokenStore implementation (#4597)
No functional change expected.
2024-07-24 16:28:01 -07:00
Marten Seemann
bc642d872d simplify handling of CRYPTO frames, remove cryptoDataHandler interface (#4588) 2024-07-21 11:59:08 -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
9010cfd2bb remove unused unknownPacketHandler interface (#4093) 2023-09-17 05:20:13 -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
4122eb7a7d disable GSO if sending fails for a particular remote address 2023-08-16 22:09:29 +07:00
Marten Seemann
8189e75be6 implement the Transport 2023-05-02 15:56:48 +02:00
Marten Seemann
c9a2f79b1c simplify mockgen usage for private interfaces (#3769) 2023-04-19 07:57:00 -07:00
Marten Seemann
58cedf7a4f rename module, adjust import paths to quic-go/quic-go (#3680) 2023-01-21 19:53:57 -08:00
kixelated
9540d0fed2 use go run for mockgen, goimports and ginkgo (#3616) 2022-11-11 02:11:41 -08:00
Marten Seemann
86338d3ce0 rename the sessionRunner to connRunner 2022-03-27 11:27:25 +01:00
Marten Seemann
e7c2e7e147 rename the quicSession to quicConnection 2022-03-27 11:27:25 +01:00
Marten Seemann
7d5a7b47cb remove unneeded calls to goimports when generating mocks 2022-01-09 10:11:21 +04:00
Marten Seemann
870c759515 use batched reads 2021-06-27 15:45:10 -07:00
Marten Seemann
ac87292e87 start path MTU discovery when the handshake completes 2021-03-03 12:00:51 +08:00
Marten Seemann
f1c6421845 introduce an interface for the send queue, use a mock in session tests 2021-01-17 16:18:17 +08:00
Marten Seemann
a65274942c use a mock net.PacketConn in tests 2020-09-27 15:13:07 +07:00
Marten Seemann
89417ab5ca simplify the connection, rename it to sendConn 2020-08-09 19:24:04 +07:00
Marten Seemann
c809166cab update gomock, simplify script for generation mocks of private types 2020-01-26 12:53:41 +07:00
Marten Seemann
15301a7f6e use a mock connection in the session tests 2020-01-17 16:51:39 +07:00
Marten Seemann
9c97a5e95f add the TokenStore to the quic.Config, store received tokens 2019-08-13 10:52:59 +07:00
Marten Seemann
67f923c736 return the Opener from the crypto setup 2018-12-14 16:46:40 +06:30
Marten Seemann
e0bc72451b fix the file name of the mock crypto data handler 2018-11-17 08:08:48 +07:00
Marten Seemann
3266e36811 drop support for gQUIC 2018-10-30 10:20:39 +07:00
Marten Seemann
82508f1562 use tls-tris instead of mint 2018-10-26 16:18:49 +07:00
Marten Seemann
b000c32796 use a mock sealing manager in the packet packer tests 2018-10-06 06:49:37 +02:00
Marten Seemann
06db39836b move queueing of control frames to the framer 2018-09-28 21:04:57 -06:00
Marten Seemann
7034481d9e get ACK and STOP_WAITING frames in the packet packer 2018-09-28 09:51:05 -06:00
Marten Seemann
76d4d43b50 move the mockgen cleanup commands to the mockgen script 2018-08-11 12:45:48 +07:00
Marten Seemann
b291b33bca simplify the command line params of the mockgen script 2018-08-11 12:45:48 +07:00
Marten Seemann
04147d86da rename the cryptoStreamI interface to cryptoStream 2018-08-11 12:45:43 +07:00
Marten Seemann
ad5a3e2fa0 also use the multiplexer for the server 2018-08-08 10:03:22 +07:00
Marten Seemann
b682af20cf add some more tests for the client multiplexer 2018-07-03 17:30:51 +07:00
Marten Seemann
dacc94ccba rename the sessionMap to packetHandlerMap 2018-06-23 08:20:29 +07:00
Marten Seemann
b3fd768a61 use a smaller packetHandler interface
The packetHandler interface just needs two methods: one for handling
packets, and one for closing.
2018-06-23 08:16:51 +07:00
Marten Seemann
9c5986945e refactor the map of sessions into a separate struct 2018-05-30 21:10:44 +08:00
Marten Seemann
15da47cf98 use a GoMock mock session in the server and client tests 2018-05-30 21:10:44 +08:00
Marten Seemann
733e2e952b use callbacks for signaling the session status
Instead of exposing a session.handshakeStatus() <-chan error, it's
easier to pass a callback to the session which is called when the
handshake is done.
The removeConnectionID callback is in preparation for IETF QUIC, where a
connection can have multiple connection IDs over its lifetime.
2018-05-29 21:27:08 +08:00
Marten Seemann
302d2a1715 don't use trial decryption for IETF QUIC 2018-03-31 14:29:44 +07:00