mqtt 0.3.1 → 0.4.0
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 +15 -0
- data/NEWS.md +13 -0
- data/README.md +99 -49
- data/lib/mqtt.rb +14 -1
- data/lib/mqtt/client.rb +93 -53
- data/lib/mqtt/packet.rb +6 -6
- data/lib/mqtt/patches/string_encoding.rb +4 -0
- data/lib/mqtt/sn/packet.rb +763 -0
- data/lib/mqtt/version.rb +1 -1
- data/spec/mqtt_client_spec.rb +147 -51
- data/spec/mqtt_packet_spec.rb +67 -68
- data/spec/mqtt_sn_packet_spec.rb +1721 -0
- data/spec/zz_client_integration_spec.rb +22 -1
- metadata +22 -31
@@ -9,7 +9,8 @@ describe "a client talking to a server" do
|
|
9
9
|
before(:each) do
|
10
10
|
@error_log = StringIO.new
|
11
11
|
@server = MQTT::FakeServer.new
|
12
|
-
@server.
|
12
|
+
@server.just_one_connection = true
|
13
|
+
@server.respond_to_pings = true
|
13
14
|
@server.logger = Logger.new(@error_log)
|
14
15
|
@server.logger.level = Logger::WARN
|
15
16
|
@server.start
|
@@ -142,4 +143,24 @@ describe "a client talking to a server" do
|
|
142
143
|
end
|
143
144
|
end
|
144
145
|
|
146
|
+
context "detects server not sending ping responses" do
|
147
|
+
def connect_and_timeout(keep_alive)
|
148
|
+
@server.respond_to_pings = false
|
149
|
+
@client.keep_alive = keep_alive
|
150
|
+
@client.connect
|
151
|
+
sleep(keep_alive * 3)
|
152
|
+
end
|
153
|
+
|
154
|
+
context "when keep-alive=1" do
|
155
|
+
it "the server should have received at least one ping" do
|
156
|
+
expect {
|
157
|
+
connect_and_timeout(1)
|
158
|
+
}.to raise_error(
|
159
|
+
MQTT::ProtocolException,
|
160
|
+
'No Ping Response received for 2 seconds'
|
161
|
+
)
|
162
|
+
end
|
163
|
+
end
|
164
|
+
end
|
165
|
+
|
145
166
|
end
|
metadata
CHANGED
@@ -1,68 +1,60 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mqtt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.4.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Nicholas J Humfrey
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2016-06-27 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: bundler
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - ! '>='
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version: 1.
|
19
|
+
version: 1.11.2
|
22
20
|
type: :development
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
24
|
- - ! '>='
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version: 1.
|
26
|
+
version: 1.11.2
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: rake
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - ~>
|
36
32
|
- !ruby/object:Gem::Version
|
37
|
-
version: 0.
|
33
|
+
version: 0.9.6
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - ~>
|
44
39
|
- !ruby/object:Gem::Version
|
45
|
-
version: 0.
|
40
|
+
version: 0.9.6
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: yard
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - ~>
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: 0.8.0
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - ~>
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: 0.8.0
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: rspec
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
59
|
- - ~>
|
68
60
|
- !ruby/object:Gem::Version
|
@@ -70,7 +62,6 @@ dependencies:
|
|
70
62
|
type: :development
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
66
|
- - ~>
|
76
67
|
- !ruby/object:Gem::Version
|
@@ -78,19 +69,17 @@ dependencies:
|
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: simplecov
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
|
-
- -
|
73
|
+
- - ~>
|
84
74
|
- !ruby/object:Gem::Version
|
85
|
-
version:
|
75
|
+
version: 0.9.2
|
86
76
|
type: :development
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
|
-
- -
|
80
|
+
- - ~>
|
92
81
|
- !ruby/object:Gem::Version
|
93
|
-
version:
|
82
|
+
version: 0.9.2
|
94
83
|
description: Pure Ruby gem that implements the MQTT protocol, a lightweight protocol
|
95
84
|
for publish/subscribe messaging.
|
96
85
|
email: njh@aelius.com
|
@@ -98,49 +87,51 @@ executables: []
|
|
98
87
|
extensions: []
|
99
88
|
extra_rdoc_files: []
|
100
89
|
files:
|
101
|
-
- README.md
|
102
90
|
- LICENSE.md
|
103
91
|
- NEWS.md
|
92
|
+
- README.md
|
93
|
+
- lib/mqtt.rb
|
104
94
|
- lib/mqtt/client.rb
|
105
95
|
- lib/mqtt/packet.rb
|
106
96
|
- lib/mqtt/patches/string_encoding.rb
|
107
97
|
- lib/mqtt/proxy.rb
|
98
|
+
- lib/mqtt/sn/packet.rb
|
108
99
|
- lib/mqtt/version.rb
|
109
|
-
- lib/mqtt.rb
|
110
100
|
- spec/mqtt_client_spec.rb
|
111
101
|
- spec/mqtt_packet_spec.rb
|
112
102
|
- spec/mqtt_proxy_spec.rb
|
103
|
+
- spec/mqtt_sn_packet_spec.rb
|
113
104
|
- spec/mqtt_version_spec.rb
|
114
105
|
- spec/zz_client_integration_spec.rb
|
115
106
|
homepage: http://github.com/njh/ruby-mqtt
|
116
107
|
licenses:
|
117
108
|
- MIT
|
109
|
+
metadata: {}
|
118
110
|
post_install_message:
|
119
111
|
rdoc_options: []
|
120
112
|
require_paths:
|
121
113
|
- lib
|
122
114
|
required_ruby_version: !ruby/object:Gem::Requirement
|
123
|
-
none: false
|
124
115
|
requirements:
|
125
116
|
- - ! '>='
|
126
117
|
- !ruby/object:Gem::Version
|
127
118
|
version: '0'
|
128
119
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
129
|
-
none: false
|
130
120
|
requirements:
|
131
121
|
- - ! '>='
|
132
122
|
- !ruby/object:Gem::Version
|
133
123
|
version: '0'
|
134
124
|
requirements: []
|
135
125
|
rubyforge_project: mqtt
|
136
|
-
rubygems_version:
|
126
|
+
rubygems_version: 2.5.2
|
137
127
|
signing_key:
|
138
|
-
specification_version:
|
128
|
+
specification_version: 4
|
139
129
|
summary: Implementation of the MQTT protocol
|
140
130
|
test_files:
|
141
131
|
- spec/mqtt_client_spec.rb
|
142
132
|
- spec/mqtt_packet_spec.rb
|
143
133
|
- spec/mqtt_proxy_spec.rb
|
134
|
+
- spec/mqtt_sn_packet_spec.rb
|
144
135
|
- spec/mqtt_version_spec.rb
|
145
136
|
- spec/zz_client_integration_spec.rb
|
146
137
|
has_rdoc:
|