Yield function call with timeout works, there was an issue with blockant socket.

Dependencies:   C12832 MQTT

Fork of HelloMQTT by MQTT

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers MQTTNetwork.h Source File

MQTTNetwork.h

00001 #ifndef _MQTTNETWORK_H_
00002 #define _MQTTNETWORK_H_
00003 
00004 #include "NetworkInterface.h"
00005 
00006 class MQTTNetwork {
00007 public:
00008     MQTTNetwork(NetworkInterface* aNetwork) : network(aNetwork) {
00009         socket = new TCPSocket();
00010     }
00011 
00012     ~MQTTNetwork() {
00013         delete socket;
00014     }
00015 
00016     int read(unsigned char* buffer, int len, int timeout) {
00017         socket->set_blocking(true);
00018         socket->set_timeout(timeout);
00019         return socket->recv(buffer, len);
00020     }
00021 
00022     int write(unsigned char* buffer, int len, int timeout) {
00023         return socket->send(buffer, len);
00024     }
00025 
00026     int connect(const char* hostname, int port) {
00027         socket->open(network);
00028         return socket->connect(hostname, port);
00029     }
00030 
00031     void disconnect() {
00032 
00033     }
00034 
00035 private:
00036     NetworkInterface* network;
00037     TCPSocket* socket;
00038 };
00039 
00040 #endif // _MQTTNETWORK_H_