mqtt 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
data/NEWS.md CHANGED
@@ -1,6 +1,12 @@
1
1
  Ruby MQTT NEWS
2
2
  ==============
3
3
 
4
+ Ruby MQTT Version 0.3.1 (2014-10-10)
5
+ ------------------------------------
6
+
7
+ * Added ```last_ping_response``` to attribute to ```MQTT::Client```
8
+
9
+
4
10
  Ruby MQTT Version 0.3.0 (2014-08-26)
5
11
  ------------------------------------
6
12
 
@@ -11,7 +17,7 @@ Ruby MQTT Version 0.3.0 (2014-08-26)
11
17
  - Renamed ```:remote_host``` to ```:host```
12
18
  - Renamed ```:message_id``` to ```:id```
13
19
  - Renamed ```:protocol_version``` to ```:protocol_level```
14
- - Renamed ```MQTT_SERVER``` environment variable to ```MQTT_SERVER```
20
+ - Renamed ```MQTT_BROKER``` environment variable to ```MQTT_SERVER```
15
21
  * Added more checks to ensure that the 3.1.1 protocol specs are adhered to
16
22
  * Added a Library Overview section to the README
17
23
  * Added links to the protocol specification to README
@@ -53,6 +53,9 @@ class MQTT::Client
53
53
  # If the Will message should be retain by the server after it is sent
54
54
  attr_accessor :will_retain
55
55
 
56
+ #Last ping response time
57
+ attr_reader :last_ping_response
58
+
56
59
 
57
60
  # Timeout between select polls (in seconds)
58
61
  SELECT_TIMEOUT = 0.5
@@ -173,7 +176,7 @@ class MQTT::Client
173
176
  # Initialise private instance variables
174
177
  @packet_id = 0
175
178
  @last_pingreq = Time.now
176
- @last_pingresp = Time.now
179
+ @last_ping_response = Time.now
177
180
  @socket = nil
178
181
  @read_queue = Queue.new
179
182
  @read_thread = nil
@@ -452,6 +455,8 @@ private
452
455
  if packet.class == MQTT::Packet::Publish
453
456
  # Add to queue
454
457
  @read_queue.push(packet)
458
+ elsif packet.class == MQTT::Packet::Pingresp
459
+ @last_ping_response = Time.now
455
460
  else
456
461
  # Ignore all other packets
457
462
  nil
@@ -1,4 +1,4 @@
1
1
  module MQTT
2
2
  # The version number of the MQTT gem
3
- VERSION = "0.3.0"
3
+ VERSION = "0.3.1"
4
4
  end
@@ -736,6 +736,13 @@ describe MQTT::Client do
736
736
  client.send(:receive_packet)
737
737
  end
738
738
 
739
+ it "should update last_ping_response when receiving a Pingresp" do
740
+ allow(MQTT::Packet).to receive(:read).and_return MQTT::Packet::Pingresp.new
741
+ client.instance_variable_set '@last_ping_response', Time.at(0)
742
+ client.send :receive_packet
743
+ expect(client.last_ping_response).to be_within(1).of Time.now
744
+ end
745
+
739
746
  it "should close the socket if there is an exception" do
740
747
  expect(socket).to receive(:close).once
741
748
  allow(MQTT::Packet).to receive(:read).and_raise(MQTT::Exception)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mqtt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-08-26 00:00:00.000000000 Z
12
+ date: 2014-10-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler