Commit Graph

6008 Commits

Author SHA1 Message Date
Marten Seemann
fce0261c34 wire: apply the default value for the active_connection_id_limit (#3806) v0.35.0 2023-05-28 11:45:46 -07:00
Sukun
1951878816 server: send version negotiation and invalid token packets from a single Go routine (#3854)
* server: send invalid token and version negotiation packets from one go routine

* remove unneeded comments
2023-05-28 19:27:32 +03:00
Marten Seemann
762d5c2c9c packet packer: don't try packing a 0-RTT packet with only an ACK (#3849)
0-RTT packets can't contain ACK frames. This was correctly reflected in the
code path for packing a 0-RTT packet, but we would ignore the ACK-only flag
when packing the coalesced packet, leading to a full-size 0-RTT packet being
sent out when we're only allowed to send an ACK-only packet.
2023-05-28 17:35:32 +03:00
Marten Seemann
f5516715eb quicproxy: increase UDP send and receive buffer sizes (#3813) 2023-05-28 17:08:17 +03:00
Marten Seemann
378e3c8b74 wire: save ECN counts on the ACK frame (#3829) 2023-05-28 16:36:38 +03:00
Marten Seemann
02013caaa4 rttstats: don't set initial RTT after having obtained a measurement (#3852) 2023-05-28 15:09:25 +03:00
Sukun
cb3453db25 fix comment claiming ParseConnectionID reuses the data slice (#3848) 2023-05-21 07:54:50 -07:00
Sukun
f401a73d27 transport: send stateless reset packets from a single Go routine (#3842)
* don't spawn new go routine for every stateless packet

* pass *receivedPacket around
2023-05-20 00:53:18 -07:00
Marten Seemann
cf267ff7d7 optimize memory layout of ackhandler.Packet (#3844)
Before: 88 bytes. After: 80 bytes.
2023-05-19 10:03:24 +03:00
Glonee
2ff71510a9 ci: fix Codecov coverage report (#3837) 2023-05-15 06:06:25 -07:00
Glonee
cec79d338c implement http3.RoundTripper.CloseIdleConnections (#3820)
* implement CloseIdleConnections

* nit

Co-authored-by: Marten Seemann <martenseemann@gmail.com>

---------

Co-authored-by: Marten Seemann <martenseemann@gmail.com>
2023-05-15 00:12:00 -07:00
Marten Seemann
e9fea08613 fix HTTP/3 connection test on draft-29 (#3819) 2023-05-12 00:19:43 -07:00
Marten Seemann
b425465bf9 fix flaky timeout integration test (#3818) 2023-05-12 00:12:40 -07:00
Marten Seemann
22ca1fb8a5 change how the multiplex test is skipped on Linux (#3817) 2023-05-11 22:14:46 -07:00
Marten Seemann
5aa2beb706 quicvarint: remove deprecated Write function (#3781) 2023-05-09 12:06:22 -07:00
Marten Seemann
5d54c0b82c Merge pull request #3812 from quic-go/snd-buf-size
increase the UDP send buffer size to 2 MB
2023-05-09 22:05:47 +03:00
Marten Seemann
2ab17e20af transport: increase the UDP send buffer size as well 2023-05-08 14:35:22 +03:00
Marten Seemann
74be4d2755 add a function to set the UDP send buffer size
This function is the equivalent to the function used to set the UDP
receive buffer size. It's so similar that code generation is used to
make a copy of the setReceiveBuffer function.
2023-05-08 14:35:21 +03:00
Marten Seemann
600502ab06 simplify connection handling when setting the receive buffer 2023-05-08 14:14:54 +03:00
Marten Seemann
1cd78f131f move UDP receive buffer size manipulation to a separate file 2023-05-08 12:50:19 +03:00
Marco Munizaga
843b633434 use SO_RCVBUFFORCE to force receive buffer increase on Linux (#3804)
* Add ability to force change the receive buffer size using SO_RCVBUFFORCE in Linux

* Fix imports

* Update test

* Add sys_conn_helper_not_linux

* Rename file

* ignore the error on SetReadBuffer

* also run unit tests as root

---------

Co-authored-by: Marten Seemann <martenseemann@gmail.com>
2023-05-08 02:40:47 -07:00
Marten Seemann
da198b710b transport: fix flaky stateless reset test (#3810) 2023-05-08 01:56:59 -07:00
Zxilly
22d6b0e626 docs: fix typo in documentation for EarlyConnection (#3798) 2023-05-06 02:36:43 -07:00
Marten Seemann
6b74a9a727 Merge pull request #3794 from quic-go/new-api
introduce a Transport
2023-05-02 16:08:04 +02:00
Marten Seemann
07ad2cbee2 remove Tracer from Config, put ConnectionTracer constructor there 2023-05-02 15:56:49 +02:00
Marten Seemann
5544f0f9a1 simplify connection handling for the client 2023-05-02 15:56:49 +02:00
Marten Seemann
7a0ef5f867 make Config.Allow0RTT a bool, not a callback 2023-05-02 15:56:49 +02:00
Marten Seemann
bc7cb706c5 add a GetConfigForClient callback to the Config 2023-05-02 15:56:49 +02:00
Marten Seemann
ba942715db remove ConnectionIDLength and ConnectionIDGenerator from the Config 2023-05-02 15:56:49 +02:00
Marten Seemann
b79b532b04 remove StatelessResetKey from the Config, it's now on the Transport 2023-05-02 15:56:49 +02:00
Marten Seemann
8189e75be6 implement the Transport 2023-05-02 15:56:48 +02:00
Marten Seemann
ae5a8bd35c move the QUIC version check to the config validation 2023-05-02 09:44:58 +02:00
Kévin Dunglas
5400587610 docs: add Mercure in the list of projects using quic-go (#3791) 2023-05-01 09:34:40 -07:00
Marten Seemann
84953f02b4 Merge pull request #3789 from quic-go/listener-structs
make Listener and EarlyListener a struct
2023-05-01 15:00:37 +02:00
Marten Seemann
86a1234c87 make EarlyListener a struct, not an interface 2023-05-01 14:41:16 +02:00
Marten Seemann
1b64b13750 make Listener a struct, not an interface 2023-05-01 14:41:16 +02:00
Marten Seemann
2a03c6cd79 Merge pull request #3788 from quic-go/zero-rtt-queue-server
move 0-RTT queue handling from the packet handler map to the server
2023-05-01 14:40:34 +02:00
Marten Seemann
94829edf35 congestion: fix overflow when calculating the pacing budget (#3796) 2023-05-01 05:32:20 -07:00
Marten Seemann
6617f3d39a don't use timers to clean up 0-RTT queues 2023-05-01 14:24:28 +02:00
Marten Seemann
58487803d3 move 0-RTT queue handling from the packet handler map to the server 2023-05-01 14:24:28 +02:00
Marten Seemann
c0b94ee4b0 Merge pull request #3785 from quic-go/dial-context
put a context on a dial functions, remove Dial*Context, remove host parameter
2023-05-01 14:24:04 +02:00
Marten Seemann
5c05143703 Merge pull request #3784 from quic-go/speed-up-cross-compile
ci: speed up the cross compilation job by parallelizing
2023-05-01 14:02:56 +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
ea721c9c75 Merge pull request #3782 from quic-go/integration-tests-versions
set the version for integration tests using a command line flag
2023-05-01 13:59:10 +02:00
Marten Seemann
523036c4e6 ci: run go build jobs in parallel in cross compile job 2023-05-01 13:46:07 +02:00
Marten Seemann
1a483c0e43 ci: remove outdated version checks from cross compilation script 2023-05-01 13:46:07 +02:00
Marten Seemann
c19e6a71b2 ci: allow changing runners through config vars (#3783)
* ci: allow changing runners through config vars

* fix variable access

---------

Co-authored-by: galargh <piotr.galar@gmail.com>
2023-05-01 04:45:30 -07:00
Marten Seemann
2b0a03a988 set the QUIC version for integration tests using a command line flag 2023-05-01 13:43:34 +02:00
Marten Seemann
0dbe595d9f move the version negotiation tests to a separate package 2023-05-01 13:42:30 +02:00