|[paho-dev] MQTT C asynchronous token|
Hello Ian, and all,|
I'm trying to wrap up the next rev of the C++ library, and have one nagging issue that I believe I inquired about last time. In the C library, the MQTTAsync_send() and MQTTAsync_sendMessage() functions claim:
An MQTTAsync_token is issued when this function returns successfully.I can't find how to get this MQTTAsyncToken value until the callback which happens after the message is delivered.
The problem is that, like the Java client, the C++ client has a publish() function which returns a token, and that token is supposed to know the message ID of the outgoing packet. It is reported via:
int itoken::get_message_id();So, to implement this I need the Message ID (MQTTAsyncToken) as soon as the message is queued - before returning from the publish() function.
It seems that the latest version of the ...err... asynchronous mode of the synchronous library has everything I would need to publish messages, since the publish functions take a pointer to an MQTTClient_deliveryToken
int MQTTClient_publish(MQTTClient handle, char *topicName, int payloadlen,That would be perfect! I would switch over to the synchronous library, but there are not corresponding asynchronous versions of connect() and disconnect().
If those existed, I (we?) wouldn't need the asynchronous library at all.
Back to the top