For bug fixes
Fork of MTS-Socket by
Socket.h@19:f9a0041c4501, 2014-10-21 (annotated)
- Committer:
- Vanger
- Date:
- Tue Oct 21 21:12:18 2014 +0000
- Revision:
- 19:f9a0041c4501
- Parent:
- 18:119547e27ff1
Changed close() variable to match MBED socket API with a variable name of shutdown instead of clearBuffer.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Mike Fiore |
1:096f484f3ae6 | 1 | #ifndef SOCKET_H |
Mike Fiore |
1:096f484f3ae6 | 2 | #define SOCKET_H |
Mike Fiore |
1:096f484f3ae6 | 3 | |
Mike Fiore |
1:096f484f3ae6 | 4 | #include "IPStack.h" |
Mike Fiore |
1:096f484f3ae6 | 5 | |
Mike Fiore |
1:096f484f3ae6 | 6 | /** Socket file descriptor and select wrapper |
Mike Fiore |
1:096f484f3ae6 | 7 | */ |
Mike Fiore |
1:096f484f3ae6 | 8 | class Socket { |
Mike Fiore |
1:096f484f3ae6 | 9 | public: |
Mike Fiore |
1:096f484f3ae6 | 10 | /** Socket |
Mike Fiore |
1:096f484f3ae6 | 11 | */ |
Mike Fiore |
1:096f484f3ae6 | 12 | Socket(); |
Mike Fiore |
1:096f484f3ae6 | 13 | |
Mike Fiore |
1:096f484f3ae6 | 14 | /** Set blocking or non-blocking mode of the socket and a timeout on |
Mike Fiore |
1:096f484f3ae6 | 15 | blocking socket operations |
Mike Fiore |
1:096f484f3ae6 | 16 | \param blocking true for blocking mode, false for non-blocking mode. |
Mike Fiore |
1:096f484f3ae6 | 17 | \param timeout timeout in ms [Default: (1500)ms]. |
Mike Fiore |
1:096f484f3ae6 | 18 | */ |
Mike Fiore |
1:096f484f3ae6 | 19 | void set_blocking(bool blocking, unsigned int timeout=1500); |
Mike Fiore |
1:096f484f3ae6 | 20 | |
Mike Fiore |
1:096f484f3ae6 | 21 | /** Close the socket file descriptor |
Mike Fiore |
1:096f484f3ae6 | 22 | */ |
Vanger | 19:f9a0041c4501 | 23 | int close(bool shutdown = true); |
Mike Fiore |
1:096f484f3ae6 | 24 | |
Mike Fiore |
1:096f484f3ae6 | 25 | ~Socket(); |
Mike Fiore |
1:096f484f3ae6 | 26 | |
Mike Fiore |
1:096f484f3ae6 | 27 | protected: |
Mike Fiore |
1:096f484f3ae6 | 28 | bool _blocking; |
Mike Fiore |
1:096f484f3ae6 | 29 | int _timeout; |
Mike Fiore |
1:096f484f3ae6 | 30 | IPStack * ip; |
Mike Fiore |
1:096f484f3ae6 | 31 | }; |
Mike Fiore |
1:096f484f3ae6 | 32 | |
Mike Fiore |
1:096f484f3ae6 | 33 | |
Mike Fiore |
1:096f484f3ae6 | 34 | #endif /* SOCKET_H_ */ |