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:
Mon Sep 11 16:43:10 2017 +0200
Parent:
49:08571008b958
Child:
52:3f9919941b86
Commit message:
Roll back f313853d22a6 and 08571008b958 - Usage of free'd memory. Needs investigation

Changed in this revision

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