mqtt-ccutrer 1.0.2 → 1.0.3
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/lib/mqtt/client.rb +13 -5
- data/lib/mqtt/version.rb +1 -1
- 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: c95449b66faaba1f857dbb64e535b2f4a8565a91a8611aa3b53d1b1a3c802f7d
|
4
|
+
data.tar.gz: 053ce243061cf20b3326d53e7fda9afaa82972d4029631e6e0857efc465e7bcf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e465141738a3352c562474041f199a260496d9d499d81899613381de8521a9fb215bdde351b608ac9630a463b3fa2e2dd4cfe22046ab179926d0c657ffebaa08
|
7
|
+
data.tar.gz: 0b87b975e3c9a792f17dcc663c9aa0c0be764a6866eeeedb1a88ba9d38511f661995c412920d6798e580929317d4e633fdd744f33177fb7609c30542b4394e5d
|
data/lib/mqtt/client.rb
CHANGED
@@ -43,14 +43,17 @@ module MQTT
|
|
43
43
|
attr_accessor :resend_limit
|
44
44
|
|
45
45
|
# How many attempts to re-establish a connection after it drops before
|
46
|
-
# giving up (default 5)
|
46
|
+
# giving up (default 5); nil for unlimited retries
|
47
47
|
attr_accessor :reconnect_limit
|
48
48
|
|
49
49
|
# How long to wait between re-connection attempts (exponential - i.e.
|
50
50
|
# immediately after first drop, then 5s, then 25s, then 125s, etc.
|
51
|
-
# when
|
51
|
+
# when this value defaults to 5)
|
52
52
|
attr_accessor :reconnect_backoff
|
53
53
|
|
54
|
+
# the longest amount of time to wait before attempting a reconnect
|
55
|
+
attr_accessor :reconnect_backoff_max
|
56
|
+
|
54
57
|
# Username to authenticate to the server with
|
55
58
|
attr_accessor :username
|
56
59
|
|
@@ -80,7 +83,8 @@ module MQTT
|
|
80
83
|
ack_timeout: 5,
|
81
84
|
resend_limit: 5,
|
82
85
|
reconnect_limit: 5,
|
83
|
-
reconnect_backoff:
|
86
|
+
reconnect_backoff: 2,
|
87
|
+
reconnect_backoff_max: 30,
|
84
88
|
username: nil,
|
85
89
|
password: nil,
|
86
90
|
will_topic: nil,
|
@@ -130,8 +134,11 @@ module MQTT
|
|
130
134
|
# client = MQTT::Client.new('myserver.example.com', 18830)
|
131
135
|
# client = MQTT::Client.new(host: 'myserver.example.com')
|
132
136
|
# client = MQTT::Client.new(host: 'myserver.example.com', keep_alive: 30)
|
137
|
+
# client = MQTT::Client.new(uri: 'mqtt://myserver.example.com', keep_alive: 30)
|
133
138
|
#
|
134
139
|
def initialize(host = nil, port = nil, **attributes)
|
140
|
+
host = attributes.delete(:uri) if attributes.key?(:uri)
|
141
|
+
|
135
142
|
# Set server URI from environment if present
|
136
143
|
if host.nil? && port.nil? && attributes.empty? && ENV['MQTT_SERVER']
|
137
144
|
attributes.merge!(parse_uri(ENV['MQTT_SERVER']))
|
@@ -560,9 +567,10 @@ module MQTT
|
|
560
567
|
rescue
|
561
568
|
@socket&.close
|
562
569
|
@socket = nil
|
570
|
+
retries += 1
|
563
571
|
|
564
|
-
if
|
565
|
-
sleep @reconnect_backoff ** retries
|
572
|
+
if @reconnect_limit.nil? || retries < @reconnect_limit
|
573
|
+
sleep [@reconnect_backoff ** retries, @reconnect_backoff_max].min
|
566
574
|
retry
|
567
575
|
end
|
568
576
|
end
|
data/lib/mqtt/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mqtt-ccutrer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cody Cutrer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-08-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -174,7 +174,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
174
174
|
- !ruby/object:Gem::Version
|
175
175
|
version: '0'
|
176
176
|
requirements: []
|
177
|
-
rubygems_version: 3.
|
177
|
+
rubygems_version: 3.3.5
|
178
178
|
signing_key:
|
179
179
|
specification_version: 4
|
180
180
|
summary: Implementation of the MQTT protocol
|