Frank,
I've raised a bug to track this item:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=433871
We're creating new web pages for each of the clients. I've put one
together for the C++ client:
https://www.eclipse.org/paho/new/clients/cpp/. If you have any
changes you'd like me to make, let me know.
Ian
On 04/23/2014 07:22 PM, Frank Pagliughi
wrote:
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,
void *payload, int qos, int retained,
MQTTClient_deliveryToken *dt)
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.
Thanks,
Frank
--
Ian Craggs
icraggs@xxxxxxxxxx IBM United Kingdom
Committer on Paho, Mosquitto
|