Yield function call with timeout works, there was an issue with blockant socket.
Fork of HelloMQTT by
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_
Generated on Wed Jul 13 2022 03:37:43 by 1.7.2