omq 0.28.5 → 0.28.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 +13 -0
- data/README.md +2 -2
- data/lib/omq/routing/radio.rb +3 -0
- data/lib/omq/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7ba6c1a230231646b3a6c62e2989df1b7e1cc8a0f221ecaa36866d34fa1d0e37
|
|
4
|
+
data.tar.gz: c8fd13bec0c8bc71ce65d7986fc90e2d4269a00c9aceecde3f15f5594ec83550
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2e628c0814a1596514e7ec4f845689c90392c74d5d45652c1e6efa8c85acc801cb88a04d0a5acaa95a6696467d76ea609cac2b93e7de00347fb980104a81564a
|
|
7
|
+
data.tar.gz: e69d5a0698a8f2a2879378dbd35b983e0e45ef52ea323c3a439947b5f657a734333cdec0c869389bf186dabc92beee3fba0093f5498cf67f6ab49ca7e243a868
|
data/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [0.28.7] - 2026-08-02
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
|
|
9
|
+
- Resolved `RADIO` subscriber readiness when a peer sends `JOIN`, so
|
|
10
|
+
callers waiting on `subscriber_joined` can synchronize with `DISH`.
|
|
11
|
+
|
|
12
|
+
## [0.28.6] - 2026-08-01
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
|
|
16
|
+
- Documented that the Rust backend exposes `zstd+tcp://`.
|
|
17
|
+
|
|
5
18
|
## [0.28.5] - 2026-07-31
|
|
6
19
|
|
|
7
20
|
### Fixed
|
data/README.md
CHANGED
|
@@ -262,8 +262,8 @@ post-handshake message parts are compressed.
|
|
|
262
262
|
training from early traffic. Use for new compressed TCP work.
|
|
263
263
|
- **[omq-zstd](gems/omq-zstd)**: experimental `zstd+tcp://`.
|
|
264
264
|
Zstandard per-part compression kept for research and comparison. Prefer
|
|
265
|
-
`omq-lz4` for new compressed TCP work.
|
|
266
|
-
|
|
265
|
+
`omq-lz4` for new compressed TCP work. The Rust backend also exposes
|
|
266
|
+
`zstd+tcp://`.
|
|
267
267
|
|
|
268
268
|
### Protocol extensions (RFCs)
|
|
269
269
|
|
data/lib/omq/routing/radio.rb
CHANGED
|
@@ -20,6 +20,7 @@ module OMQ
|
|
|
20
20
|
# @return [Async::LimitedQueue]
|
|
21
21
|
#
|
|
22
22
|
attr_reader :send_queue
|
|
23
|
+
attr_reader :subscriber_joined
|
|
23
24
|
|
|
24
25
|
|
|
25
26
|
# @param engine [Engine]
|
|
@@ -29,6 +30,7 @@ module OMQ
|
|
|
29
30
|
@connections = []
|
|
30
31
|
@groups = {} # connection => Set of joined groups (or ANY_GROUPS for UDP)
|
|
31
32
|
@send_queue = Routing.build_queue(engine.options.send_hwm, :block)
|
|
33
|
+
@subscriber_joined = Async::Promise.new
|
|
32
34
|
@on_mute = engine.options.on_mute
|
|
33
35
|
@send_pump_started = false
|
|
34
36
|
@conflate = engine.options.conflate
|
|
@@ -175,6 +177,7 @@ module OMQ
|
|
|
175
177
|
case cmd.name
|
|
176
178
|
when "JOIN"
|
|
177
179
|
@groups[conn]&.add(cmd.data)
|
|
180
|
+
@subscriber_joined.resolve(conn) unless @subscriber_joined.resolved?
|
|
178
181
|
when "LEAVE"
|
|
179
182
|
@groups[conn]&.delete(cmd.data)
|
|
180
183
|
end
|
data/lib/omq/version.rb
CHANGED