mbed OS5に対応したMilkcocoaライブラリのテストバージョンです。
Fork of mbed-os-example-mbed5-blinky by
Milkcocoa/MQTT/MQTTSocket.h
- Committer:
- jksoft
- Date:
- 2017-01-24
- Revision:
- 24:6ba1245bf049
File content as of revision 24:6ba1245bf049:
#if !defined(MQTTSOCKET_H)
#define MQTTSOCKET_H
#include "MQTTmbed.h"
#include "TCPSocket.h"
class MQTTSocket
{
public:
int open(NetworkInterface* nif)
{
return socket.open(nif);
}
int connect(char* hostname, int port, int timeout=1000)
{
socket.set_blocking (false);
socket.set_timeout(timeout);
_mutex.lock();
int ret = (int)socket.connect(hostname, port);
_mutex.unlock();
return ret;
}
int read(unsigned char* buffer, int len, int timeout)
{
socket.set_blocking (false);
socket.set_timeout(timeout);
_mutex.lock();
int ret = (int)socket.recv((char*)buffer, len);
_mutex.unlock();
return ret;
}
int write(unsigned char* buffer, int len, int timeout)
{
socket.set_blocking (false);
socket.set_timeout(timeout);
_mutex.lock();
int ret = (int)socket.send((char*)buffer, len);
_mutex.unlock();
return ret;
}
int disconnect()
{
_mutex.lock();
int ret = (int)socket.close();
_mutex.unlock();
return ret;
}
private:
Mutex _mutex;
TCPSocket socket;
};
#endif
