Commit Graph

6029 Commits

Author SHA1 Message Date
Marten Seemann
7ea6dc991f use the same ACK frame struct in the send path, remove ACK frame pool (#3831) 2023-06-02 08:34:27 -07:00
Marten Seemann
21544085e1 Merge pull request #3878 from quic-go/single-ack-receiving
use a single ACK frame in the receive path
2023-06-02 18:06:06 +03:00
Marten Seemann
a595d34557 use a single ACK frame in the receive path 2023-06-02 17:21:46 +03:00
Marten Seemann
614fdb3271 only run DPLPMTUD if the connection can send packets with the DF bit set (#3879) 2023-06-02 06:54:34 -07:00
Marten Seemann
0438eada95 use ackhandler.Frame directly, not as a pointer, remove its sync.Pool (#3835) 2023-06-02 04:56:18 -07:00
Marten Seemann
f8d24ef1e9 don't use closures for passing OnLost and OnAcked STREAM frame callbacks (#3833) 2023-06-02 04:14:04 -07:00
Marten Seemann
ad79149738 improve document of the Transport and the dial and listen functions (#3875) 2023-06-02 03:45:40 -07:00
Marten Seemann
1d093d7927 config: handle overflows of stream and flow control limits (#3866) 2023-06-02 03:41:14 -07:00
Marten Seemann
f392c8a17b receive stream: put back the buffer for the last STREAM frame (#3832) 2023-06-02 03:22:51 -07:00
Marten Seemann
8a74f01add githooks: exclude deleted files from checks (#3864) 2023-06-02 03:14:03 -07:00
Marten Seemann
073f5c0306 ci: fix ordering of error output of the cross compilation workflow (#3809) 2023-06-02 03:12:53 -07:00
Marten Seemann
dd8ce5147b connection: refactor handling of frames when tracing 2023-06-02 13:10:07 +03:00
Marten Seemann
cfa03394b5 remove stray print statement in datagram test (#3828) 2023-06-02 03:08:02 -07:00
Marten Seemann
9899ec4126 README: restructure RFC section, add QUIC v2 (RFC 9369) (#3871) 2023-06-02 03:00:29 -07:00
Marten Seemann
215ba85db4 ackhandler: simplify sentPacketHandler.SentPacket (#3847)
No functional change expected.
2023-06-02 02:59:46 -07:00
Marten Seemann
1c3292d120 fix flaky client test (#3834) 2023-06-02 02:58:07 -07:00
Marten Seemann
a49fa6a682 update Ginkgo to v2.9.5 and Gomega to v1.27.6 (#3845) 2023-06-02 02:57:26 -07:00
Glonee
f1f42d8d90 use a ring buffer in the framer (#3857)
* implement and use ringbuffer in framer

* Add comments for ring buffer

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

---------

Co-authored-by: Marten Seemann <martenseemann@gmail.com>
2023-06-01 11:53:37 -07:00
Glonee
9237dbb167 http3: close the connection when closing the roundtripper (#3873) v0.35.1 2023-06-01 01:06:13 -07:00
Glonee
c96fbd2e4a http3: correctly use the quic.Transport (#3869)
* use quic.Transport in http3

* add intergrationtests to dial server with different server names

* update test
2023-05-31 23:31:20 -07:00
Glonee
21549fcb4a http3: set tls.Config.ServerName for outgoing requests, if unset (#3867)
* fix #3865

* add test case

* Update http3/client, client_test.go

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

---------

Co-authored-by: Marten Seemann <martenseemann@gmail.com>
2023-05-31 22:45:56 -07:00
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