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.