Client supports (does not disconnect) Suback / Puback
This commit is contained in:
@@ -347,12 +347,18 @@ if (message.type() != MqttMessage::Type::PingReq && message.type() != MqttMessag
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case MqttMessage::Type::Connack:
|
case MqttMessage::Type::Connack:
|
||||||
// if (!mqtt_connected) break;
|
|
||||||
// TODO what more on connack ?
|
// TODO what more on connack ?
|
||||||
mqtt_connected = true;
|
mqtt_connected = true;
|
||||||
bclose = false;
|
bclose = false;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case MqttMessage::Type::Suback:
|
||||||
|
case MqttMessage::Type::Puback:
|
||||||
|
if (!mqtt_connected) break;
|
||||||
|
// Ignore acks
|
||||||
|
bclose = false;
|
||||||
|
break;
|
||||||
|
|
||||||
case MqttMessage::Type::PingResp:
|
case MqttMessage::Type::PingResp:
|
||||||
// TODO: no PingResp is suspicious (server dead)
|
// TODO: no PingResp is suspicious (server dead)
|
||||||
bclose = false;
|
bclose = false;
|
||||||
@@ -409,11 +415,15 @@ if (message.type() != MqttMessage::Type::PingReq && message.type() != MqttMessag
|
|||||||
if (qos) payload+=2; // ignore packet identifier if any
|
if (qos) payload+=2; // ignore packet identifier if any
|
||||||
// TODO reset DUP
|
// TODO reset DUP
|
||||||
// TODO reset RETAIN
|
// TODO reset RETAIN
|
||||||
debug("publishing to parent");
|
|
||||||
if (parent)
|
if (parent)
|
||||||
|
{
|
||||||
|
debug("publishing to parent");
|
||||||
parent->publish(this, published, message);
|
parent->publish(this, published, message);
|
||||||
|
}
|
||||||
else if (callback && subscriptions.find(published)!=subscriptions.end())
|
else if (callback && subscriptions.find(published)!=subscriptions.end())
|
||||||
|
{
|
||||||
callback(this, published, nullptr, 0); // TODO send the real payload
|
callback(this, published, nullptr, 0); // TODO send the real payload
|
||||||
|
}
|
||||||
// TODO should send PUBACK
|
// TODO should send PUBACK
|
||||||
bclose = false;
|
bclose = false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ class MqttMessage
|
|||||||
Publish = 0x30,
|
Publish = 0x30,
|
||||||
PubAck = 0x40,
|
PubAck = 0x40,
|
||||||
Subscribe = 0x80,
|
Subscribe = 0x80,
|
||||||
|
Suback = 0x90,
|
||||||
PingReq = 0xC0,
|
PingReq = 0xC0,
|
||||||
PingResp = 0xD0,
|
PingResp = 0xD0,
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user