omq-backend-libzmq 0.3.3 → 0.3.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 843563bc4103e7c6a306887b213e563a94ba1d67ab2dda5f5d5e59e74466e90d
4
- data.tar.gz: fcc4f468fc2c69e7c22870f5e69d57b99a3721ab031c4ae8dd4eb4316850ce1a
3
+ metadata.gz: fc4a301047eea432b192bdd7b6098006d6eff0e42819551985632504b4f61dfd
4
+ data.tar.gz: baf7e5e1b07071e4c730fff85ed5b25c5afa1d7f2401c8d4804f30f1e5a12e22
5
5
  SHA512:
6
- metadata.gz: 9a54a205da7d453941a0db82c1fa0eb90ca1b76f1eb28abe3acf267ec39b80eb5297140fe87e6df17424bb588f885d769f82acf4af646d2179026342757d85a5
7
- data.tar.gz: 25f085f1e132596938c1cd3ee85b23485598b13b98e9bb6f1cf0783aa60c2259c441c828b1bd6191cf998b48e28da51e8bd0e22aeac31859d33992fc86b4864e
6
+ metadata.gz: 3300a3356fc4e6fe7784ab08686f245eebcc03ea3e75e47330107fba66b5ca09212d146cec82330310fe60ad692e36f82db251eb29c1ebfa72851dad1dd9ccf0
7
+ data.tar.gz: 745f84d72421a6b458c52ac2b2cdb79c13f8146c8494951d826a106eac44b0281785870370c62519d4e2a5261e9b4c4188a7aa3830153c7e749fa5f323fcdbc9
@@ -151,6 +151,7 @@ module OMQ
151
151
  resolved = get_string_option(L::ZMQ_LAST_ENDPOINT)
152
152
  @connections << :libzmq
153
153
  @peer_connected.resolve(:libzmq) unless @peer_connected.resolved?
154
+ resolve_subscriber_joined_without_monitor
154
155
  URI.parse(resolved)
155
156
  end
156
157
 
@@ -164,6 +165,7 @@ module OMQ
164
165
  send_cmd(:connect, endpoint)
165
166
  @connections << :libzmq
166
167
  @peer_connected.resolve(:libzmq) unless @peer_connected.resolved?
168
+ resolve_subscriber_joined_without_monitor
167
169
  URI.parse(endpoint)
168
170
  end
169
171
 
@@ -327,6 +329,16 @@ module OMQ
327
329
 
328
330
  private
329
331
 
332
+ def resolve_subscriber_joined_without_monitor
333
+ return unless %i[PUB XPUB].include?(@socket_type)
334
+ return if @routing.subscriber_joined.resolved?
335
+
336
+ # libzmq monitor wiring is still TODO, so this backend cannot
337
+ # detect SUBSCRIBE commands. Resolve on attach so callers that wait
338
+ # for subscriber readiness can use their normal grace period.
339
+ @routing.subscriber_joined.resolve(:libzmq)
340
+ end
341
+
330
342
  # Waits for a message from the I/O thread's recv queue.
331
343
  # Uses the signal pipe so Async can yield the fiber.
332
344
  #
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omq-backend-libzmq
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Patrik Wenger