Hi,
Found this issue when i was writing code that recovers broken MQTT connection.
Think that both @last_ping_request and @last_ping_response variables should be reset in #connect method, just before starting @read_thread
Here the code to reproduce it:
mqtt = MQTT::Client.new('mqtt://test.mosquitto.org')
sleep 24
mqtt.connect
mqtt.subscribe('#')
mqtt.get do |topic, payload|
puts topic, payload
end # => No Ping Response received for 23 seconds (MQTT::ProtocolException)
# In first keep_alive!
Hi, Found this issue when i was writing code that recovers broken MQTT connection. Think that both @last_ping_request and @last_ping_response variables should be reset in #connect method, just before starting @read_thread
Here the code to reproduce it: