omq 0.14.0 → 0.14.1
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 +9 -0
- data/lib/omq/engine/connection_setup.rb +1 -1
- data/lib/omq/engine.rb +2 -2
- 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: 851ef7f69ffe66641f2bd7ada2afdd0429867b9c518451b91c0ba0ea87706579
|
|
4
|
+
data.tar.gz: 8ae83e9074fb824907dd9b25f2826c895d7ed0541e55a0d3efa45266ab34461a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: '096166f698305a29706aebf68a3d22eb28565972cd04fbfe705ca01c63d153a2b0200c50b6d9e7d3a22dfbcb9c721f08372a6f8ffed13649dcab3396587aa330'
|
|
7
|
+
data.tar.gz: b7adf1b1f0a6b1d8f2beb6156174770e893ac03eb36d705a94c002011906e891f634527c53f7c44a2ce9176d95335a1845cbad63da5a97d0428252292213cf44
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.14.1 — 2026-04-07
|
|
4
|
+
|
|
5
|
+
- **Fix per-connection task tree** — recv pump, heartbeat, and reaper tasks
|
|
6
|
+
were spawned under `@parent_task` (socket-level) instead of the connection
|
|
7
|
+
task. When `@parent_task` finished before a late connection completed its
|
|
8
|
+
handshake, `spawn_pump_task` raised `Async::Task::FinishedError`. Now uses
|
|
9
|
+
`Async::Task.current` so per-connection subtasks are children of their
|
|
10
|
+
connection task, matching the DESIGN.md task tree.
|
|
11
|
+
|
|
3
12
|
## 0.14.0 — 2026-04-07
|
|
4
13
|
|
|
5
14
|
- **Fix recv pump crash with connection wrappers** — `start_direct` called
|
|
@@ -35,7 +35,7 @@ module OMQ
|
|
|
35
35
|
def run(io, as_server:, endpoint: nil, done: nil)
|
|
36
36
|
conn = build_connection(io, as_server)
|
|
37
37
|
conn.handshake!
|
|
38
|
-
Heartbeat.start(
|
|
38
|
+
Heartbeat.start(Async::Task.current, conn, @engine.options, @engine.tasks)
|
|
39
39
|
conn = @engine.connection_wrapper.call(conn) if @engine.connection_wrapper
|
|
40
40
|
register(conn, endpoint, done)
|
|
41
41
|
@engine.emit_monitor_event(:handshake_succeeded, endpoint: endpoint)
|
data/lib/omq/engine.rb
CHANGED
|
@@ -290,7 +290,7 @@ module OMQ
|
|
|
290
290
|
# @return [Async::Task, nil]
|
|
291
291
|
#
|
|
292
292
|
def start_recv_pump(conn, recv_queue, &transform)
|
|
293
|
-
task = RecvPump.start(
|
|
293
|
+
task = RecvPump.start(Async::Task.current, conn, recv_queue, self, transform)
|
|
294
294
|
@tasks << task if task
|
|
295
295
|
task
|
|
296
296
|
end
|
|
@@ -342,7 +342,7 @@ module OMQ
|
|
|
342
342
|
# @return [Async::Task]
|
|
343
343
|
#
|
|
344
344
|
def spawn_pump_task(annotation:, &block)
|
|
345
|
-
|
|
345
|
+
Async::Task.current.async(transient: true, annotation: annotation) do
|
|
346
346
|
yield
|
|
347
347
|
rescue Async::Stop, Protocol::ZMTP::Error, *CONNECTION_LOST
|
|
348
348
|
# normal shutdown / expected disconnect
|
data/lib/omq/version.rb
CHANGED