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
Parent:
29:833386b16f3e
Child:
41:b7e86fa6dbb8
--- a/MQTTEthernet.h	Tue May 20 15:07:11 2014 +0000
+++ b/MQTTEthernet.h	Thu May 22 23:58:08 2014 +0000
@@ -4,46 +4,22 @@
 
 #include "MQTT_mbed.h"
 #include "EthernetInterface.h"
+#include "MQTTSocket.h"
 
-class MQTTEthernet
+class MQTTEthernet : public MQTTSocket
 {
 public:    
     MQTTEthernet()
     {
         eth.init();                          // Use DHCP
         eth.connect();
-        mysock.set_blocking(false, 1000);    // 1 second Timeout 
-    }
-    
-    int connect(char* hostname, int port)
-    {
-        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:
 
     EthernetInterface eth;
-    TCPSocketConnection mysock; 
     
 };
 
 
-
 #endif