A version of LWIP, provided for backwards compatibility.
Dependents: AA_DemoBoard DemoBoard HelloServerDemo DemoBoard_RangeIndicator ... more
Diff: trunk/Core/TCPListener.cpp
- Revision:
- 0:5e1631496985
diff -r 000000000000 -r 5e1631496985 trunk/Core/TCPListener.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/trunk/Core/TCPListener.cpp Tue May 08 15:32:10 2012 +0100 @@ -0,0 +1,23 @@ +#include "TCPListener.h" +#include "NetServer.h" + +using namespace std; +using namespace mbed; + +err_t TCPListener::accept_callback(void *arg, struct tcp_pcb *newpcb, err_t err) { + TCPListener *listener = static_cast<TCPListener *>(arg); + if(listener) { + return (listener->accept)(newpcb, err); + } + return ERR_OK; +} + +void TCPListener::bind() { + NetServer::ready(); + open(); + tcp_arg(this->_pcb, static_cast<void *>(this)); + if(tcp_bind(this->_pcb, IP_ADDR_ANY, this->_port) == ERR_OK) { + this->_pcb = tcp_listen(this->_pcb); + tcp_accept(this->_pcb, TCPListener::accept_callback); + } +}