MqttClient: bug fix, connection lost at each publish received

This commit is contained in:
hsaturn
2021-04-04 06:35:50 +02:00
parent 297a22efb5
commit 146d0de1d4
2 changed files with 1 additions and 6 deletions

View File

@@ -499,11 +499,6 @@ if (mesg->type() != MqttMessage::Type::PingReq && mesg->type() != MqttMessage::T
if (callback and isSubscribedTo(published)) if (callback and isSubscribedTo(published))
{ {
callback(this, published, payload, len); // TODO send the real payload callback(this, published, payload, len); // TODO send the real payload
mesg->changeType(MqttMessage::Type::PubAck); // TODO constness design but saves memory & speed
// TODO re-add packet identifier if any
mesg->sendTo(this);
mesg->changeType(MqttMessage::Type::Publish); // mesg is const (...)
} }
} }
else if (parent) // from outside to inside else if (parent) // from outside to inside

View File

@@ -145,7 +145,7 @@ class MqttClient
{ if (client) client->write(buf, length); } { if (client) client->write(buf, length); }
const std::string& id() const { return clientId; } const std::string& id() const { return clientId; }
// void id(std::string& new_id) { clientId = new_id; } void id(std::string& new_id) { clientId = new_id; }
/** Should be called in main loop() */ /** Should be called in main loop() */
void loop(); void loop();