mqtt-ccutrer 1.1.0 → 1.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c5586204c6a2b82ab49ccd6f6fc201612985566ac2b0a6580fc0144c83a3b06c
4
- data.tar.gz: d38d819d114df28b8dbcbbd357e45fc213ba8932f46dbdcc8f368f8e69e627df
3
+ metadata.gz: c0a41d0227405118d24d483405143974e08a6606f41990eb74e3061aeac0b8c6
4
+ data.tar.gz: bc82c7c0fed1835e290639c38d948fea328ef744df28536e9cd828777013594a
5
5
  SHA512:
6
- metadata.gz: 8025eeb04ed80c513422f7ebf57b45b16298eb4c226373ea179fb9cbea87be474c2befbd48a26ba4c912bddafa6a21e7f35c6ced815a6c634a7b31355b24c15f
7
- data.tar.gz: 41c23b03d0911fffee6aad9abf50df5c1ac0203a3ab44cf16354120b5b6b6687ec62b8704951be4c14f41f98db00d450e464133a983604e40f9a885ad904d55f
6
+ metadata.gz: 7c630b2d5554bb36770598a0b3ae6ff470482ed43d1f6accf92eea9fc733efcd5d37dc595fe8b9dc982418612cd0a2a4ae7abc1ab22a6e8af137ee3c46b20c0a
7
+ data.tar.gz: 0b2167ca3b631389b650dab69acd1c272a935766bc4d5eb8b8d6848c5316f2a6ad930833b409c2dbbc3d2c82abca929ca4d9bb7128231bfb84daaa7322957006
data/lib/mqtt/client.rb CHANGED
@@ -572,9 +572,19 @@ module MQTT
572
572
  should_exit = Thread.current == @read_thread
573
573
  @read_thread = @write_thread = nil
574
574
 
575
+ # Clear pending acks from the old connection. Their packets were
576
+ # sent (or queued) on a now-dead socket, so the broker will never
577
+ # acknowledge them. Unblock any threads waiting in wait_for_ack.
578
+ @acks_mutex.synchronize do
579
+ @acks.each_value do |pending_ack|
580
+ pending_ack.queue << :close
581
+ end
582
+ @acks.clear
583
+ end
584
+
575
585
  retries = 0
576
586
  begin
577
- connect_internal unless @reconnect_limit.zero?
587
+ connect_internal unless @reconnect_limit&.zero?
578
588
  rescue
579
589
  @socket&.close
580
590
  @socket = nil
@@ -588,12 +598,6 @@ module MQTT
588
598
 
589
599
  unless @socket
590
600
  # couldn't reconnect
591
- @acks_mutex.synchronize do
592
- @acks.each_value do |pending_ack|
593
- pending_ack.queue << :close
594
- end
595
- @acks.clear
596
- end
597
601
  @connected = false
598
602
  @read_queue << [exception, current_time]
599
603
  return
@@ -622,7 +626,7 @@ module MQTT
622
626
 
623
627
  # we just needed to break out of our select to set up a new timeout;
624
628
  # we can discard the actual contents
625
- @wake_up_pipe[0].readpartial(4096) if read_ready&.include?(@wake_up_pipe[0])
629
+ @wake_up_pipe[0].read_nonblock(4096, exception: false) if read_ready&.include?(@wake_up_pipe[0])
626
630
 
627
631
  handle_timeouts
628
632
 
data/lib/mqtt/version.rb CHANGED
@@ -2,5 +2,5 @@
2
2
 
3
3
  module MQTT
4
4
  # The version number of the MQTT gem
5
- VERSION = "1.1.0"
5
+ VERSION = "1.1.1"
6
6
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mqtt-ccutrer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cody Cutrer
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2026-01-14 00:00:00.000000000 Z
10
+ date: 2026-04-12 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: logger
@@ -47,7 +46,6 @@ licenses:
47
46
  - MIT
48
47
  metadata:
49
48
  rubygems_mfa_required: 'true'
50
- post_install_message:
51
49
  rdoc_options: []
52
50
  require_paths:
53
51
  - lib
@@ -62,8 +60,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
62
60
  - !ruby/object:Gem::Version
63
61
  version: '0'
64
62
  requirements: []
65
- rubygems_version: 3.3.27
66
- signing_key:
63
+ rubygems_version: 3.6.2
67
64
  specification_version: 4
68
65
  summary: Implementation of the MQTT protocol
69
66
  test_files: []