From fd782f8e502f4f8cb75248e9a5ae40c2fe15cf19 Mon Sep 17 00:00:00 2001 From: tomoaki Date: Sun, 21 Oct 2018 11:00:47 +0900 Subject: [PATCH] Do not discard PUBLISH message while the client is sleeping. Signed-off-by: tomoaki --- .settings/language.settings.xml | 67 +++++++++++++------ MQTTSNGateway/src/MQTTGWConnectionHandler.cpp | 15 +++-- 2 files changed, 54 insertions(+), 28 deletions(-) diff --git a/.settings/language.settings.xml b/.settings/language.settings.xml index f557f24..5aca929 100644 --- a/.settings/language.settings.xml +++ b/.settings/language.settings.xml @@ -1,25 +1,48 @@ - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/MQTTSNGateway/src/MQTTGWConnectionHandler.cpp b/MQTTSNGateway/src/MQTTGWConnectionHandler.cpp index d5b9fd0..303bfe2 100644 --- a/MQTTSNGateway/src/MQTTGWConnectionHandler.cpp +++ b/MQTTSNGateway/src/MQTTGWConnectionHandler.cpp @@ -90,10 +90,13 @@ void MQTTGWConnectionHandler::handlePingresp(Client* client, MQTTGWPacket* packe void MQTTGWConnectionHandler::handleDisconnect(Client* client, MQTTGWPacket* packet) { - MQTTSNPacket* snPacket = new MQTTSNPacket(); - snPacket->setDISCONNECT(0); - client->disconnected(); - client->getNetwork()->close(); - Event* ev1 = new Event(); - ev1->setClientSendEvent(client, snPacket); + if ( !client->isSleep() ) + { + MQTTSNPacket* snPacket = new MQTTSNPacket(); + snPacket->setDISCONNECT(0); + client->disconnected(); + client->getNetwork()->close(); + Event* ev1 = new Event(); + ev1->setClientSendEvent(client, snPacket); + } }