An API for using MQTT over multiple transports
Dependencies: FP MQTTPacket
Dependents: Cellular_HelloMQTT IoTStarterKit GSwifiInterface_HelloMQTT IBMIoTClientEthernetExample ... more
This library is part of the EclipseTM Paho project; specifically the embedded client.
The goals of this API are:
- to be independent of any system library: hence templates parameters for networking, timer and threading classes
- not to rely on heap storage, only automatic (I think this is a good thing)
- to limit memory use, for instance by defining the size of the buffers and arrays used at object creation time
Diff: MQTTClient.h
- Revision:
- 21:e918525e529d
- Parent:
- 20:cad3d54d7ecf
- Child:
- 22:aadb79d29330
--- a/MQTTClient.h Mon Apr 28 16:07:51 2014 +0000 +++ b/MQTTClient.h Tue Apr 29 16:04:55 2014 +0000 @@ -13,6 +13,15 @@ * Contributors: * Ian Craggs - initial API and implementation and/or initial documentation *******************************************************************************/ + + /* + + TODO: + + log messages - use macros + define return code constants + + */ #if !defined(MQTTCLIENT_H) #define MQTTCLIENT_H @@ -75,6 +84,12 @@ } Limits; +/** + * @class Client + * @brief blocking, non-threaded MQTT Client API + * @param Network a network class which supports send, receive + * @param Timer a timer class with the methods: + */ template<class Network, class Timer> class Client { @@ -548,7 +563,7 @@ int len = MQTTSerialize_disconnect(buf, limits.MAX_MQTT_PACKET_SIZE); int rc = sendPacket(len, timer); // send the disconnect packet - return rc; + return (rc == len) ? 0 : -1; }