Commit Graph

224 Commits

Author SHA1 Message Date
Marten Seemann
40a768e77b flowcontrol: avoid calling time.Now(), pass time as a function parameter (#4731) 2024-11-28 17:46:22 +08:00
Marten Seemann
f96923b5b2 logging: rename VersionNumber to Version (#4621) 2024-08-03 19:32:11 -07:00
Marten Seemann
87f2894af5 handshake: remove gomock tls.ClientSessionCache implementation (#4619) 2024-08-03 16:43:30 -07:00
Marten Seemann
b8ea5c7981 simplify generation of STREAM_DATA_BLOCKED frames (#4608)
The stream always gets blocked at the current write offset. There's no
need to return this offset from the flow controller.
2024-08-01 13:08:09 -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
07acaad2f7 add context to EarlyConnection.NextConnection, handle handshake failures (#4551) 2024-06-04 20:51:54 -07:00
Marten Seemann
0d1e27d77c introduce Transport.ConnContext, use client's context on the connection (#4507)
* introduce Transport.ConnContext, use client's context on the connection

* panic if ConnContext returns nil
2024-05-26 21:30:19 -07:00
Marten Seemann
e41d1f9dd7 logging / qlog: add support for DPLPMTUD (#4517)
* logging / qlog: add support for DPLPMTUD

* improve the MTU discovery integration test
2024-05-14 02:37:54 -07:00
Marten Seemann
f1476390f2 update gomock to v0.4.0 (#4361) 2024-03-10 18:07:20 -07:00
Marten Seemann
198de32ef6 don't enqueue stream for sending on reordered MAX_STREAM_DATA frames (#4269) 2024-02-02 22:02:13 -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
b675e34254 logging: add a Debug function to the Tracer (#4297) 2024-02-02 20:21:27 -08:00
Marten Seemann
fbaa941ea1 protocol: rename VersionNumber to Version (#4295) 2024-01-31 21:57:33 -08:00
Benedikt Spies
31a677cacd qlog: add support for alpn_information event (#4216)
* qlog chosen alpn

* qlog chosen alpn

* qlog: fix capitalization of ALPN

---------

Co-authored-by: Marten Seemann <martenseemann@gmail.com>
2023-12-25 21:02:47 -08:00
Marten Seemann
3bf2e19d0d logging: pass the packet number to ConnectionTracer.DroppedPacket (#4171)
In most cases the packet number is not known when a packet is dropped,
but it's useful to log the packet number when dropping a duplicate
packet.
2023-11-17 04:11:16 -08:00
Marten Seemann
1c631cf9cb rename Connection.{Send,Receive}Message to {Send,Receive}Datagram (#4116)
This is more consistent with both the RFC and the rest of the API. For
example, the option in the Config is already name EnableDatagrams, and
the property in the ConnectionState is named SupportsDatagrams.
2023-10-24 21:18:09 -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
9a397abc17 update gomock to v0.3.0 (#4087) 2023-09-24 04:38:28 -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
797e275293 congestion: rename OnPacketLost to OnCongestionEvent 2023-09-11 21:14:53 +07:00
Marten Seemann
ffe6546833 add tracing and qlogging of state transitions for ECN validation 2023-09-11 20:31:50 +07:00
Marten Seemann
ad63e2a40a trace and qlog the ECN marking on sent and received packets 2023-09-11 20:31:50 +07:00
Marten Seemann
bed8ebbd4c distinguish coalesced and 1-RTT packets when determining ECN mode 2023-09-11 20:31:50 +07:00
Marten Seemann
5dd6d91c11 send and track packets with ECN markings 2023-09-11 20:31:50 +07:00
Marten Seemann
54b76ceb3e ackhandler: use the receive time of the Retry packet for RTT estimation (#4070) 2023-09-09 06:12:19 -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
469a6153b6 use a synchronous API for the crypto setup (#3939) 2023-07-21 10:00:42 -07:00
Marten Seemann
3d89e545d3 use the new crypto/tls QUIC Transport (#3860) 2023-07-01 11:15:00 -07:00
Glonee
435444af7e add a context to Connection.ReceiveMessage (#3926)
* add context to ReceiveMessage

* add newlines

---------

Co-authored-by: Marten Seemann <martenseemann@gmail.com>
2023-06-27 11:29:30 -07:00
Marten Seemann
da55dfaabd ackhandler: unexport Packet 2023-06-05 21:06:58 +03:00
Marten Seemann
b27d114f07 pass the current timestamp to the pacer instead of calling time.Now() (#3824) 2023-06-03 00:26:30 -07:00
Marten Seemann
9d70bc24a5 simplify pacing logic by introducing a SendPacingLimited send mode 2023-06-02 18:35:02 +03:00
Marten Seemann
07ad2cbee2 remove Tracer from Config, put ConnectionTracer constructor there 2023-05-02 15:56:49 +02:00
Marten Seemann
86a1234c87 make EarlyListener a struct, not an interface 2023-05-01 14:41:16 +02:00
Marten Seemann
a4b0265628 use a chan instead of a context in Connection.HandshakeComplete (#3709) 2023-03-26 06:51:56 -07: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
9488539a49 update imports to use qtls and qpack from quic-go GitHub organization (#3676) 2023-01-20 13:42:54 -08:00
Marten Seemann
24be84cd00 introduce separate tracing calls for sent long and short header packets 2023-01-17 21:53:37 +13:00
kixelated
9540d0fed2 use go run for mockgen, goimports and ginkgo (#3616) 2022-11-11 02:11:41 -08:00
Marten Seemann
fe277dc663 log the size of buffered packets (#3571) 2022-10-11 02:27:26 -07:00
Marten Seemann
656f3d2d7d remove the wire.ShortHeader in favor of more return values (#3535) 2022-08-30 04:37:36 -07: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
53412e9ba3 trace arbitrary length Connection IDs for Version Negotiation packets 2022-08-29 10:58:33 +03:00
Marten Seemann
ecc8320c2c add a tracer function to trace sending of Version Negotiation packets 2022-08-29 10:58:33 +03:00
Marten Seemann
6aaa9a817c rename the EarlySession to EarlyConnection 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
7d5a7b47cb remove unneeded calls to goimports when generating mocks 2022-01-09 10:11:21 +04:00
Marten Seemann
1613809ba2 use the new error types to log the reason why a connection is closed 2021-05-03 14:00:41 +07:00
Marten Seemann
90727cb41a introduce a quic.StreamError type and use it for stream cancelations 2021-05-01 09:39:52 +07:00
Marten Seemann
f5238bf7b1 move the ApplicationErrorCdoe to the qerr package 2021-05-01 09:38:49 +07:00