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

Files at this revision

API Documentation at this revision

Comitter:
Jan Jongboom
Date:
Thu Sep 07 09:53:04 2017 +0100
Parent:
47:f313853d22a6
Child:
49:08571008b958
Commit message:
Countdown - free Timer when destructing object

Changed in this revision

MQTTmbed.h Show annotated file Show diff for this revision Revisions of this file
--- a/MQTTmbed.h	Thu Aug 10 14:09:33 2017 +0000
+++ b/MQTTmbed.h	Thu Sep 07 09:53:04 2017 +0100
@@ -8,42 +8,46 @@
 public:
     Countdown()
     {
-        t = new Timer();   
+        t = new Timer();
     }
-    
+
     Countdown(int ms)
     {
         t = new Timer();
-        countdown_ms(ms);   
+        countdown_ms(ms);
     }
-    
-    
+
+    ~Countdown()
+    {
+        delete t;
+    }
+
     bool expired()
     {
         return t->read_ms() >= interval_end_ms;
     }
-    
-    void countdown_ms(unsigned long ms)  
+
+    void countdown_ms(unsigned long ms)
     {
         t->stop();
         interval_end_ms = ms;
         t->reset();
         t->start();
     }
-    
+
     void countdown(int seconds)
     {
         countdown_ms((unsigned long)seconds * 1000L);
     }
-    
+
     int left_ms()
     {
         return interval_end_ms - t->read_ms();
     }
-    
+
 private:
     Timer *t;
-    unsigned long interval_end_ms; 
+    unsigned long interval_end_ms;
 };
 
 #endif
\ No newline at end of file