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
Committer:
icraggs
Date:
Mon Sep 29 11:34:26 2014 +0000
Revision:
43:21da1f744243
Parent:
41:b7e86fa6dbb8
Child:
54:ff9e5c4b52d0
QoS 2 processing

Who changed what in which revision?

UserRevisionLine numberNew contents of line
icraggs 29:833386b16f3e 1
icraggs 29:833386b16f3e 2 #if !defined(MQTTETHERNET_H)
icraggs 29:833386b16f3e 3 #define MQTTETHERNET_H
icraggs 29:833386b16f3e 4
icraggs 43:21da1f744243 5 #include "MQTTmbed.h"
icraggs 29:833386b16f3e 6 #include "EthernetInterface.h"
icraggs 31:a51dd239b78e 7 #include "MQTTSocket.h"
icraggs 29:833386b16f3e 8
icraggs 31:a51dd239b78e 9 class MQTTEthernet : public MQTTSocket
icraggs 29:833386b16f3e 10 {
icraggs 29:833386b16f3e 11 public:
icraggs 29:833386b16f3e 12 MQTTEthernet()
icraggs 29:833386b16f3e 13 {
icraggs 29:833386b16f3e 14 eth.init(); // Use DHCP
icraggs 29:833386b16f3e 15 eth.connect();
icraggs 29:833386b16f3e 16 }
icraggs 29:833386b16f3e 17
icraggs 41:b7e86fa6dbb8 18 EthernetInterface& getEth()
icraggs 41:b7e86fa6dbb8 19 {
icraggs 41:b7e86fa6dbb8 20 return eth;
icraggs 41:b7e86fa6dbb8 21 }
icraggs 41:b7e86fa6dbb8 22
icraggs 41:b7e86fa6dbb8 23 void reconnect()
icraggs 41:b7e86fa6dbb8 24 {
icraggs 41:b7e86fa6dbb8 25 eth.connect(); // nothing I've tried actually works to reconnect
icraggs 41:b7e86fa6dbb8 26 }
icraggs 41:b7e86fa6dbb8 27
icraggs 29:833386b16f3e 28 private:
icraggs 29:833386b16f3e 29
icraggs 29:833386b16f3e 30 EthernetInterface eth;
icraggs 29:833386b16f3e 31
icraggs 29:833386b16f3e 32 };
icraggs 29:833386b16f3e 33
icraggs 29:833386b16f3e 34
icraggs 29:833386b16f3e 35 #endif