uHTTP for C++
uHTTP::HTTPServer Class Reference

#include <HTTPServer.h>

Inheritance diagram for uHTTP::HTTPServer:
uHTTP::Thread

Public Member Functions

 HTTPServer ()
 
 ~HTTPServer ()
 
bool open (int port, const std::string &addr="")
 
bool close ()
 
const char * getAddress ()
 
int getPort ()
 
void addRequestListener (HTTPRequestListener *listener)
 
void removeRequestListener (HTTPRequestListener *listener)
 
HTTP::StatusCode performRequestListener (HTTPRequest *httpReq)
 
bool start ()
 
void run ()
 
bool stop ()
 
void setWorkerCount (size_t count)
 
size_t getWorkerCount ()
 
bool waitMessage (HTTPMessage **httpMsg, time_t timeoutSec=0)
 
- Public Member Functions inherited from uHTTP::Thread
 Thread ()
 
virtual ~Thread ()
 
bool isRunnable ()
 
void setObject (void *object)
 
void * getObject ()
 
bool restart ()
 

Static Public Attributes

static const long DEFAULT_SERVER_THREAD_WAIT_TIME
 
static const size_t DEFAULT_SERVER_WORKER_THREAD_NUM
 

Private Member Functions

bool bind (int port, const std::string &addr="")
 
bool accept (uHTTP::Socket *socket)
 
bool isOpened ()
 
uHTTP::ServerSocketgetServerSock ()
 

Private Attributes

ServerSocketserverSock
 
ListenerList< HTTPRequestListenerhttpRequestListenerList
 
HTTPMessageQueue messageQueue
 
size_t workerThreadMax
 
ThreadList workerThreadList
 

Constructor & Destructor Documentation

◆ HTTPServer()

uHTTP::HTTPServer::HTTPServer ( )

◆ ~HTTPServer()

uHTTP::HTTPServer::~HTTPServer ( )

Member Function Documentation

◆ accept()

bool uHTTP::HTTPServer::accept ( uHTTP::Socket * socket)
private

◆ addRequestListener()

void uHTTP::HTTPServer::addRequestListener ( HTTPRequestListener * listener)
inline

◆ bind()

bool uHTTP::HTTPServer::bind ( int port,
const std::string & addr = "" )
private

◆ close()

bool uHTTP::HTTPServer::close ( )

◆ getAddress()

const char * uHTTP::HTTPServer::getAddress ( )
inline

◆ getPort()

int uHTTP::HTTPServer::getPort ( )
inline

◆ getServerSock()

uHTTP::ServerSocket * uHTTP::HTTPServer::getServerSock ( )
inlineprivate

◆ getWorkerCount()

size_t uHTTP::HTTPServer::getWorkerCount ( )
inline

◆ isOpened()

bool uHTTP::HTTPServer::isOpened ( )
private

◆ open()

bool uHTTP::HTTPServer::open ( int port,
const std::string & addr = "" )

◆ performRequestListener()

HTTP::StatusCode uHTTP::HTTPServer::performRequestListener ( HTTPRequest * httpReq)
inline

◆ removeRequestListener()

void uHTTP::HTTPServer::removeRequestListener ( HTTPRequestListener * listener)
inline

◆ run()

void uHTTP::HTTPServer::run ( )
virtual

Implements uHTTP::Thread.

◆ setWorkerCount()

void uHTTP::HTTPServer::setWorkerCount ( size_t count)
inline

◆ start()

bool uHTTP::HTTPServer::start ( )
virtual

Reimplemented from uHTTP::Thread.

◆ stop()

bool uHTTP::HTTPServer::stop ( )
virtual

Reimplemented from uHTTP::Thread.

◆ waitMessage()

bool uHTTP::HTTPServer::waitMessage ( HTTPMessage ** httpMsg,
time_t timeoutSec = 0 )
inline

Field Documentation

◆ DEFAULT_SERVER_THREAD_WAIT_TIME

const long uHTTP::HTTPServer::DEFAULT_SERVER_THREAD_WAIT_TIME
static

◆ DEFAULT_SERVER_WORKER_THREAD_NUM

const size_t uHTTP::HTTPServer::DEFAULT_SERVER_WORKER_THREAD_NUM
static

◆ httpRequestListenerList

ListenerList<HTTPRequestListener> uHTTP::HTTPServer::httpRequestListenerList
private

◆ messageQueue

HTTPMessageQueue uHTTP::HTTPServer::messageQueue
private

◆ serverSock

ServerSocket* uHTTP::HTTPServer::serverSock
private

◆ workerThreadList

ThreadList uHTTP::HTTPServer::workerThreadList
private

◆ workerThreadMax

size_t uHTTP::HTTPServer::workerThreadMax
private

The documentation for this class was generated from the following file: