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:

  1. to be independent of any system library: hence templates parameters for networking, timer and threading classes
  2. not to rely on heap storage, only automatic (I think this is a good thing)
  3. to limit memory use, for instance by defining the size of the buffers and arrays used at object creation time
Revision:
31:a51dd239b78e
Child:
36:2f1ada427e56
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MQTTSocket.h	Thu May 22 23:58:08 2014 +0000
@@ -0,0 +1,41 @@
+#if !defined(MQTTSOCKET_H)
+#define MQTTSOCKET_H
+
+#include "MQTT_mbed.h"
+#include "TCPSocketConnection.h"
+
+class MQTTSocket
+{
+public:    
+    int connect(char* hostname, int port, int timeout=1000)
+    {
+        mysock.set_blocking(false, timeout);    // 1 second Timeout 
+        return mysock.connect(hostname, port);
+    }
+
+    int read(char* buffer, int len, int timeout)
+    {
+        mysock.set_blocking(false, timeout);  
+        return mysock.receive(buffer, len);
+    }
+    
+    int write(char* buffer, int len, int timeout)
+    {
+        mysock.set_blocking(false, timeout);  
+        return mysock.send(buffer, len);
+    }
+    
+    int disconnect()
+    {
+        return mysock.close();
+    }
+    
+private:
+
+    TCPSocketConnection mysock; 
+    
+};
+
+
+
+#endif