Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of MTS-Socket by
Socket.h@44:00927cf819d5, 2017-05-12 (annotated)
- Committer:
- miaotwilio
- Date:
- Fri May 12 11:33:55 2017 +0000
- Revision:
- 44:00927cf819d5
- Parent:
- 19:f9a0041c4501
nonblocking tcp receive should use timer.read_ms instead of timer.read
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_ */ |