Marten Seemann
12f2be058b
bump go.mod version to Go 1.23, run 1.23 and 1.24 on CI ( #4880 )
2025-02-13 12:49:54 +01:00
Marten Seemann
3cb5f3e104
optimize packing of STREAM_DATA_BLOCKED frames ( #4801 )
...
* refactor the framer to pack both control and STREAM frames
* refactor framer STREAM frame packing logic
* pack STREAM_DATA_BLOCKED in the same packet as the STREAM frame
This makes debugging easier (and is slightly more efficient). In the
pathological case where there is not enough space remaning in the packet
to pack the STREAM_DATA_BLOCKED frame, it is queued for the next packet.
* add an integration test
2025-01-07 12:06:00 +08:00
Marten Seemann
0b9bd3c4de
remove redundant bool return value from sendStream.popStreamFrame ( #4828 )
2024-12-31 13:51:14 +08:00
Marten Seemann
95998056d5
update GoMock to v0.5.0 ( #4776 )
2024-12-21 10:56:18 +08:00
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
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
f1476390f2
update gomock to v0.4.0 ( #4361 )
2024-03-10 18:07:20 -07:00
Marten Seemann
fbaa941ea1
protocol: rename VersionNumber to Version ( #4295 )
2024-01-31 21:57:33 -08: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
2797f85fc0
switch from unmaintained golang/mock to go.uber.org/mock ( #4050 )
2023-08-28 02:23:55 -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
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
Marten Seemann
1646fd545e
refactor send stream to remove version from constructor
2023-01-18 20:51:59 +13: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
42b61729bd
expose the TransportError and the ApplicationError
2021-05-01 09:38:49 +07:00
Marten Seemann
c27f5a55b3
rename sendStream.handleMaxStreamDataFrame to updateSendWindow
2021-03-12 13:36:23 +08:00
Marten Seemann
efe6d02bef
use mockgen source mode
2021-02-20 09:59:44 +08:00
Marten Seemann
383f1a6e89
update gomock to v1.5.0
2021-02-20 09:33:43 +08:00
Marten Seemann
0edb3f2b93
return ackhandler.Frames from sendStream.popStreamFrame
2019-08-31 17:34:54 +07:00
Marten Seemann
5e34cb1d71
run go generate ./...
2019-03-05 13:42:56 +09:00
Marten Seemann
3372fa794c
remove the error return value from Stream.CancelWrite
2019-01-24 16:00:12 +07:00
Marten Seemann
ca939df44e
remove the error return value from Stream.CancelRead
2019-01-24 16:00:11 +07:00
Marten Seemann
022189dfda
rename the RST_STREAM frame to RESET_STREAM frame
2018-11-04 12:26:02 +07:00
Marten Seemann
25847cfc30
handle the crypto stream separately in the packet packer
2018-10-01 11:25:57 -07:00
Marten Seemann
8a3f807a12
immediately delete a stream when it is completed
...
By introducing a callback to the stream, which the stream calls as soon
as it is completed, we can get rid of checking every single open stream
if it is completed.
2018-01-03 10:30:20 +07:00
Marten Seemann
d9c107b034
introduce a queue of active streams in the streamFramer
...
The queue holds all streams that have data to send. When stream.Write or
stream.Close are called, a stream is added to this queue. It is removed
from the queue when all available (at that moment) data was sent.
This way, we don't need the round robin scheduling (which, for every
packet sent, asked every single open stream if it had data) any more.
2018-01-02 23:24:44 +07:00
Marten Seemann
d195085f65
don't queue the complete window update, but only the stream ID
2017-12-21 19:03:52 +07:00
Marten Seemann
d4f904b55b
regenerate all gomocks after gomock output format was changed
...
No functional change expected.
2017-12-21 17:30:51 +07:00
Marten Seemann
d2e31c04ab
generate the streamI mock in the quic package
...
By doing so, we can mock private methods of the stream, so they cannot
be type-asserted by users of quic-go.
2017-12-20 10:42:07 +07:00