Keepalive Path¶
The haka-mqtt client can be configured to use MqttPingreq and
MqttPingresp packets to test the liveliness of a connection. If
the connection does not prove lively the client will disconnect from
the server.
Receive Path¶
If the core reactor does not receive any bytes on the TCP socket for
haka_mqtt.reactor.Reactor.recv_idle_ping_period seconds then
a MqttPingreq packet will be launched. If after
haka_mqtt.reactor.Reactor.recv_idle_abort_period seconds no
bytes have been received then the reactor terminates the connection and
enters an error state.
Send Path¶
If the core reactor does not send and bytes on the underlying socket
for haka_mqtt.reactor.Reactor.keepalive_period seconds then
a MqttPingreq packet will be launched. The server will disconnect
the client if it does not receive any packets after
1.5 times haka_mqtt.reactor.Reactor.keepalive_period seconds
[MQTT-3.1.2-24]. The client will detect this as a network
disconnection.