mirror of
https://github.com/eclipse/paho.mqtt-sn.embedded-c.git
synced 2025-12-15 00:16:52 +01:00
@@ -284,16 +284,9 @@ void MQTTGWPublishHandler::handleAggregatePublish(Client* client, MQTTGWPacket*
|
|||||||
replyACK(client, &pub, PUBREC);
|
replyACK(client, &pub, PUBREC);
|
||||||
}
|
}
|
||||||
|
|
||||||
MQTTGWPacket* msg = new MQTTGWPacket();
|
|
||||||
*msg = *packet;
|
|
||||||
if ( msg->getType() == 0 )
|
|
||||||
{
|
|
||||||
WRITELOG("%s MQTTGWPublishHandler::handleAggregatePublish can't allocate memories for Packet.%s\n", ERRMSG_HEADER,ERRMSG_FOOTER);
|
|
||||||
delete msg;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
string* topicName = new string(pub.topic);
|
|
||||||
|
string* topicName = new string(pub.topic, pub.topiclen);
|
||||||
Topic topic = Topic(topicName, MQTTSN_TOPIC_TYPE_NORMAL);
|
Topic topic = Topic(topicName, MQTTSN_TOPIC_TYPE_NORMAL);
|
||||||
AggregateTopicElement* list = _gateway->getAdapterManager()->createClientList(&topic);
|
AggregateTopicElement* list = _gateway->getAdapterManager()->createClientList(&topic);
|
||||||
if ( list != nullptr )
|
if ( list != nullptr )
|
||||||
@@ -305,8 +298,16 @@ void MQTTGWPublishHandler::handleAggregatePublish(Client* client, MQTTGWPacket*
|
|||||||
Client* devClient = p->getClient();
|
Client* devClient = p->getClient();
|
||||||
if ( devClient != nullptr )
|
if ( devClient != nullptr )
|
||||||
{
|
{
|
||||||
|
MQTTGWPacket* msg = new MQTTGWPacket();
|
||||||
|
*msg = *packet;
|
||||||
|
if ( msg->getType() == 0 )
|
||||||
|
{
|
||||||
|
WRITELOG("%s MQTTGWPublishHandler::handleAggregatePublish can't allocate memories for Packet.%s\n", ERRMSG_HEADER,ERRMSG_FOOTER);
|
||||||
|
delete msg;
|
||||||
|
break;
|
||||||
|
}
|
||||||
Event* ev = new Event();
|
Event* ev = new Event();
|
||||||
ev->setBrokerRecvEvent(devClient, packet);
|
ev->setBrokerRecvEvent(devClient, msg);
|
||||||
_gateway->getPacketEventQue()->post(ev);
|
_gateway->getPacketEventQue()->post(ev);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -282,5 +282,4 @@ void MQTTSNPublishHandler::handleAggregateAck(Client* client, MQTTSNPacket* pack
|
|||||||
ev->setClientSendEvent(client, ackPacket);
|
ev->setClientSendEvent(client, ackPacket);
|
||||||
_gateway->getClientSendQue()->post(ev);
|
_gateway->getClientSendQue()->post(ev);
|
||||||
}
|
}
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user