Example of HTTPServer with additional features: * SNTPClient, DST rules * Link status indication * Local or SDCard-based WebServer * RPC-able class * Static and Dynamic HTML page

Dependencies:   mbed

lwip/Core/TCPListener.cpp

Committer:
iva2k
Date:
2010-01-12
Revision:
2:360fda42fefd
Parent:
0:886e4b3119ad

File content as of revision 2:360fda42fefd:

#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);
  }
}