Simple HTTP example
Dependencies: LWIPInterface NetworkSocketAPI events funcptr mbed-rtos mbed
Diff: SimpleHTTP.cpp
- Revision:
- 1:ca2041d3a4a6
- Parent:
- 0:9dd004b6a8b7
--- a/SimpleHTTP.cpp Thu Apr 21 18:36:07 2016 -0500 +++ b/SimpleHTTP.cpp Fri Apr 22 03:21:03 2016 -0500 @@ -2,9 +2,8 @@ #define BUFFER_SIZE 4096 -SimpleHTTP::SimpleHTTP(EventQueue *queue, NetworkStack *stack) - : _queue(queue) - , _stack(stack) { +SimpleHTTP::SimpleHTTP(NetworkStack *stack) + : _stack(stack) { memset(&_stats, 0, sizeof _stats); } @@ -13,6 +12,10 @@ } void SimpleHTTP::start() { + // Startup event loop + _loop.start(); + + // Startup network code int err; err = _server.open(_stack); @@ -25,12 +28,16 @@ if (err) _stats.errors++; _server.set_blocking(false); - _net_event.attach(_queue, this, &SimpleHTTP::_net_cb); + _net_event.attach(&_loop, this, &SimpleHTTP::_net_cb); _server.attach(&_net_event, &Event<void()>::call); } void SimpleHTTP::stop() { + // Detach server _server.attach(0); + + // End event loop + _loop.stop(); } int SimpleHTTP::_handle(char *http) {