Exemplo n.º 1
0
int MQTTSPacket_send_connack(Clients* client, int returnCode)
{
	PacketBuffer buf;
	int rc = 0;

	FUNC_ENTRY;
	buf = MQTTSSerialize_connack(returnCode);

	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);
	Log(LOG_PROTOCOL, 40, NULL, socket, client->addr, client->clientID, returnCode, rc);	
	FUNC_EXIT;
	return rc;
}
int MQTTSPacket_send_connack(Clients* client, int returnCode)
{
	PacketBuffer buf;
	int rc = 0;

	FUNC_ENTRY;
	buf = MQTTSSerialize_connack(returnCode);
	rc = MQTTSPacket_sendPacketBuffer(client->socket, client->addr, buf);
	free(buf.data);
	Log(LOG_PROTOCOL, 40, NULL, socket, client->addr, client->clientID, returnCode, rc);	
	FUNC_EXIT;
	return rc;
}