Official reference client implementation for Cumulocity SmartREST on u-blox C027.
Dependencies: C027_Support C12832 LM75B MMA7660 MbedSmartRest mbed-rtos mbed
Fork of MbedSmartRestMain by
util/SmartRestSocket.h@122:68217ccb8cd1, 2015-05-20 (annotated)
- Committer:
- xinlei
- Date:
- Wed May 20 14:30:26 2015 +0000
- Revision:
- 122:68217ccb8cd1
- Parent:
- 116:4eb3c7e945cf
- Child:
- 130:dc9e37d4bc05
fix for properly closing a socket when connect failed
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
xinlei | 94:61d44636f020 | 1 | #ifndef SMARTRESTSOCKET_H |
xinlei | 94:61d44636f020 | 2 | #define SMARTRESTSOCKET_H |
xinlei | 94:61d44636f020 | 3 | #include "TCPSocketConnection.h" |
xinlei | 94:61d44636f020 | 4 | |
xinlei | 99:e369fc75c000 | 5 | class SmartRestSocket : private TCPSocketConnection |
xinlei | 94:61d44636f020 | 6 | { |
xinlei | 94:61d44636f020 | 7 | public: |
xinlei | 122:68217ccb8cd1 | 8 | SmartRestSocket(): TCPSocketConnection() { |
xinlei | 116:4eb3c7e945cf | 9 | memset(cachedIP, 0, sizeof(cachedIP)); |
xinlei | 116:4eb3c7e945cf | 10 | } |
xinlei | 94:61d44636f020 | 11 | virtual ~SmartRestSocket() {} |
xinlei | 94:61d44636f020 | 12 | int sendOnly(char *buf, int size); |
xinlei | 94:61d44636f020 | 13 | int sendAndReceive(char *buf, int size, int maxSize); |
xinlei | 116:4eb3c7e945cf | 14 | /* Set the timeout for the socket. |
xinlei | 116:4eb3c7e945cf | 15 | \param _timeout in milliseconds, -1 for no timeout. |
xinlei | 116:4eb3c7e945cf | 16 | */ |
xinlei | 122:68217ccb8cd1 | 17 | void setBlocking(int timeout = -1) { |
xinlei | 122:68217ccb8cd1 | 18 | if (timeout == -1) |
xinlei | 122:68217ccb8cd1 | 19 | Socket::set_blocking(true); |
xinlei | 122:68217ccb8cd1 | 20 | else |
xinlei | 122:68217ccb8cd1 | 21 | Socket::set_blocking(false, timeout); |
xinlei | 99:e369fc75c000 | 22 | } |
xinlei | 94:61d44636f020 | 23 | private: |
xinlei | 99:e369fc75c000 | 24 | int connect(); |
xinlei | 116:4eb3c7e945cf | 25 | char cachedIP[16]; |
xinlei | 94:61d44636f020 | 26 | }; |
xinlei | 94:61d44636f020 | 27 | |
xinlei | 94:61d44636f020 | 28 | #endif /* SMARTRESTSOCKET_H */ |