MqttClient: bug fix, connection lost at each publish received
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
Reference in New Issue
Block a user