int MQTTSPacket_send_ack_with_msgId(Clients* client, char type, int msgId)
{
	PacketBuffer buf;
	int rc = 0;

	FUNC_ENTRY;
	buf = MQTTSPacketSerialize_ack(type, msgId);
	rc = MQTTSPacket_sendPacketBuffer(client->socket, client->addr, buf);
	free(buf.data);
	FUNC_EXIT_RC(rc);
	return rc;
}
Ejemplo n.º 2
0
int MQTTSPacket_send_ack_with_msgId(Clients* client, char type, int msgId)
{
	PacketBuffer buf;
	int rc = 0;

	FUNC_ENTRY;
	buf = MQTTSPacketSerialize_ack(type, msgId);

	char *colon ;
	if ( client->wirelessNodeId != NULL )
	{
		buf = MQTTSPacketSerialize_forwarder_encapsulation(client , buf) ;
		// Temporary shorten client->addr until the colon before wireless node ID
		colon = strrchr(client->addr, ':');
		*(colon) = '\0';
	}
	rc = MQTTSPacket_sendPacketBuffer( client->socket, client->addr, buf);
	if ( client->wirelessNodeId != NULL )
		*(colon) = ':';

	free(buf.data);
	FUNC_EXIT_RC(rc);
	return rc;
}