fork of wolfSSL/MQTTS library with increased message buffer & increased number of subscribed topics
Fork of MQTTS by
Revision 28:8b2abe9bd814, committed 2014-05-11
- Comitter:
- icraggs
- Date:
- Sun May 11 18:51:08 2014 +0000
- Parent:
- 27:8e27b74cfdc9
- Parent:
- 25:d13a6c558164
- Child:
- 30:a4e3a97dabe3
- Commit message:
- Merge branches
Changed in this revision
MQTTClient.h | Show annotated file Show diff for this revision Revisions of this file |
MQTTPacket.lib | Show annotated file Show diff for this revision Revisions of this file |
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/IPStack/EthernetInterfaceIPStack.h Sun May 11 18:51:08 2014 +0000 @@ -0,0 +1,90 @@ + +#ifndef ETHERNETINTERFACEIPSTACK_H +#define ETHERNETINTERFACEIPSTACK_H + +#include "EthernetInterface.h" + +class IPStack +{ +public: + IPStack() + { + 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; + +}; + + +class Countdown +{ +public: + Countdown() + { + t = Timer(); + } + + Countdown(int ms) + { + t = Timer(); + countdown_ms(ms); + } + + + bool expired() + { + return t.read_ms() >= interval_end_ms; + } + + void countdown_ms(int ms) + { + t.stop(); + interval_end_ms = ms; + t.reset(); + t.start(); + } + + void countdown(int seconds) + { + countdown_ms(seconds * 1000); + } + + int left_ms() + { + return interval_end_ms - t.read_ms(); + } + +private: + Timer t; + int interval_end_ms; +}; + +#endif
--- a/MQTTClient.h Sun May 11 18:28:46 2014 +0000 +++ b/MQTTClient.h Sun May 11 18:51:08 2014 +0000 @@ -20,6 +20,8 @@ ensure publish packets are retried on reconnect + updating usage of FP. Try to remove inclusion of FP.cpp in main. sg- + */ #if !defined(MQTTCLIENT_H) @@ -171,16 +173,18 @@ PacketId packetid; - typedef FP<void, Message*> messageHandlerFP; + // typedef FP<void, Message*> messageHandlerFP; struct MessageHandlers { const char* topicFilter; - messageHandlerFP fp; + //messageHandlerFP fp; typedefs not liked? + FP<void, Message*> fp; } messageHandlers[MAX_MESSAGE_HANDLERS]; // Message handlers are indexed by subscription topic - messageHandlerFP defaultMessageHandler; - + FP<void, Message*> defaultMessageHandler; + bool isconnected; + }; } @@ -378,6 +382,7 @@ int len = 0, rc = SUCCESS; + switch (packet_type) { case CONNACK:
--- a/MQTTPacket.lib Sun May 11 18:28:46 2014 +0000 +++ b/MQTTPacket.lib Sun May 11 18:51:08 2014 +0000 @@ -1,1 +1,1 @@ -http://mbed.org/teams/mqtt/code/MQTTPacket/#b97b9873af52 +http://mbed.org/teams/mqtt/code/MQTTPacket/#3893bc7343f4 \ No newline at end of file