update espMqttClient

This commit is contained in:
technyon
2023-03-27 17:48:22 +02:00
parent 4d566e28fd
commit 44ad2dd320
16 changed files with 13 additions and 36 deletions

View File

@@ -222,9 +222,14 @@ void MqttClient::loop() {
break;
case State::connectingMqtt:
#if EMC_WAIT_FOR_CONNACK
_sendPacket();
_checkIncoming();
_checkPing();
if (_transport->connected()) {
_sendPacket();
_checkIncoming();
_checkPing();
} else {
_state = State::disconnectingTcp1;
_disconnectReason = DisconnectReason::TCP_DISCONNECTED;
}
break;
#else
// receipt of CONNACK packet will set state to CONNECTED
@@ -266,10 +271,11 @@ void MqttClient::loop() {
case State::disconnectingTcp1:
_transport->stop();
_state = State::disconnectingTcp2;
break;
break; // keep break to accomodate async clients
case State::disconnectingTcp2:
if (_transport->disconnected()) {
_clearQueue(0);
_bytesSent = 0;
_state = State::disconnected;
if (_onDisconnectCallback) _onDisconnectCallback(_disconnectReason);
}