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.
Diff: Socket.h
- Revision:
- 20:dd5f19874adf
- Parent:
- 19:cad29ce6a01c
- Child:
- 26:0f614f1d0398
--- a/Socket.h Tue Apr 19 18:23:12 2016 -0500 +++ b/Socket.h Tue Apr 19 18:23:29 2016 -0500 @@ -63,6 +63,19 @@ */ int close(); + /** Register a callback on state change of the socket + * @param callback Function to call on state change + * @note Callback may be called in an interrupt context. + * The callback should not perform long operations + * such as recv or send calls. + */ + void attach(FunctionPointer callback); + + template <typename T, typename M> + void attach(T *tptr, M mptr) { + attach(FunctionPointer(tptr, mptr)); + } + protected: Socket(); int open(NetworkInterface *iface, nsapi_protocol_t proto); @@ -73,6 +86,7 @@ void *_socket; bool _blocking; unsigned _timeout; + FunctionPointer _callback; }; #endif