quic 0.0.5 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +18 -0
- data/LICENSE-DEPENDENCIES.txt +2 -2
- data/README.md +1 -1
- data/ext/quic/connection_common.c +116 -425
- data/ext/quic/connection_common.h +31 -5
- data/ext/quic/ext_api.c +7 -5
- data/ext/quic/extconf.rb +5 -5
- data/ext/quic/include/quic/ext.h +22 -1
- data/ext/quic/stream.c +434 -45
- data/ext/quic/stream.h +68 -22
- data/lib/quic/connection.rb +11 -0
- data/lib/quic/version.rb +1 -1
- data/sig/quic.rbs +14 -12
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5acecd3e782e59b5c380793fa4578eece61bd51c81fcab5467fb190239743763
|
|
4
|
+
data.tar.gz: ac7453f336d3540141d4a549ac02d918b36246d47de12e221d7e2267a853f592
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 63730e7e519301b35da42c040b1c0de81d4294bbeecc886e5a90726dd0eaea82ca904768a57c7cd40a0229d29f7cacf8adfede63f6cf323400fff2697f065d88
|
|
7
|
+
data.tar.gz: bf37cb7e2bb04a44175fff8e34b661ad17413ddbcfd7ad4811a6b03f16257bb6b582856687bb93a0f5629fb4483a0f314b9cf900b898485ee79a0edbc5544dc5
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,21 @@
|
|
|
1
|
+
## [0.0.7] - 2026-11-08
|
|
2
|
+
|
|
3
|
+
### Changed
|
|
4
|
+
- `QUIC::Stream#write` and `#write_nonblock` count the data queued on every stream of the connection against the connection's flow control window, not only their own stream's. ([#27](https://github.com/unasuke/quic-ruby/pull/27))
|
|
5
|
+
- `#close` of `QUIC::Connection::Client` and `Server` raises `ArgumentError` for an unknown keyword instead of ignoring it. ([#27](https://github.com/unasuke/quic-ruby/pull/27))
|
|
6
|
+
- The gem no longer declares a minimum Ruby version (was `>= 3.2.0`). It is tested on Ruby 3.4 and 4.0. ([#28](https://github.com/unasuke/quic-ruby/pull/28))
|
|
7
|
+
|
|
8
|
+
### Fixed
|
|
9
|
+
- `QUIC::Stream` no longer resends corrupted data when a packet is lost and `GC.compact` (or auto-compaction) runs before the retransmission. What the peer has yet to acknowledge is now kept outside the Ruby heap, and `ObjectSpace.memsize_of` of the stream includes it. A C stream handler (the http3 gem) was not affected. ([#26](https://github.com/unasuke/quic-ruby/pull/26))
|
|
10
|
+
|
|
11
|
+
## [0.0.6] - 2026-11-03
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
- `quic/ext.h` is ABI 1.1: a stream handler's new `recv_stop_sending` is called as soon as the peer's STOP_SENDING arrives, instead of the handler learning of it when the stream closes. Handlers built for ABI 1.0 keep working. ([#23](https://github.com/unasuke/quic-ruby/pull/23))
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
- ngtcp2 is now built from 1.26.0 (was 1.25.0), and picotls from `a2d95de`, the revision ngtcp2 1.26.0 is tested against. ([#24](https://github.com/unasuke/quic-ruby/pull/24))
|
|
18
|
+
|
|
1
19
|
## [0.0.5] - 2026-10-24
|
|
2
20
|
|
|
3
21
|
### Fixed
|
data/LICENSE-DEPENDENCIES.txt
CHANGED
|
@@ -9,7 +9,7 @@ bundled nor redistributed. The quic gem itself is MIT licensed; see
|
|
|
9
9
|
LICENSE.txt.
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
ngtcp2 1.
|
|
12
|
+
ngtcp2 1.26.0 -- https://github.com/ngtcp2/ngtcp2
|
|
13
13
|
-------------------------------------------------
|
|
14
14
|
|
|
15
15
|
The MIT License
|
|
@@ -53,7 +53,7 @@ the statically linked libngtcp2 and are covered by their own terms:
|
|
|
53
53
|
COPYING text above.
|
|
54
54
|
|
|
55
55
|
|
|
56
|
-
picotls
|
|
56
|
+
picotls a2d95de -- https://github.com/h2o/picotls
|
|
57
57
|
-------------------------------------------------
|
|
58
58
|
|
|
59
59
|
picotls has no top-level license file; the terms are stated in the header of
|
data/README.md
CHANGED
|
@@ -147,7 +147,7 @@ It applies to clients, `Connection::Server.accept` and every connection of an En
|
|
|
147
147
|
|
|
148
148
|
### From other native extensions
|
|
149
149
|
|
|
150
|
-
Another native extension can drive a connection's streams from C instead of through `QUIC::Stream`, as the [http3](https://github.com/unasuke/http3-ruby) gem does. `quic/ext.h` declares the function table (ABI 1.0), and `QUIC::EXT_INCLUDE_DIR` tells an `extconf.rb` where it is:
|
|
150
|
+
Another native extension can drive a connection's streams from C instead of through `QUIC::Stream`, as the [http3](https://github.com/unasuke/http3-ruby) gem does. `quic/ext.h` declares the function table (ABI 1.1; a stream handler built against ABI 1.0 keeps working), and `QUIC::EXT_INCLUDE_DIR` tells an `extconf.rb` where it is:
|
|
151
151
|
|
|
152
152
|
```ruby
|
|
153
153
|
require "mkmf"
|