Sirikata
Public Member Functions | Private Types | Private Member Functions | Private Attributes
Sirikata::Command::HttpServer Class Reference

#include <HttpServer.hpp>

Inheritance diagram for Sirikata::Command::HttpServer:
Collaboration diagram for Sirikata::Command::HttpServer:

List of all members.

Public Member Functions

 HttpServer (Context *ctx, const String &host, uint16 port)
 ~HttpServer ()
void response (HttpRequestID id, HttpStatus status, const Headers &headers, const String &body)

Private Types

typedef boost::recursive_mutex Mutex
typedef boost::lock_guard< MutexLock
typedef std::set< HttpRequestPtrRequestSet
typedef std::map
< HttpRequestID,
HttpRequestPtr
RequestMap

Private Member Functions

void acceptConnection ()
void handleConnection (TCPSocketPtr socket)
void readRequestData (HttpRequestPtr req)
void handleReadRequestData (HttpRequestPtr req, const boost::system::error_code &ec, std::size_t bytes_transferred)
void handleRequest (HttpRequestPtr req)
void writeResponseData (HttpRequestPtr req, uint32 offset)
void handleWriteResponseData (HttpRequestPtr req, uint32 offset, const boost::system::error_code &ec, std::size_t bytes_transferred)

Private Attributes

ContextmContext
String mHost
uint16 mPort
TCPListenerPtr mAcceptor
Mutex mMutex
RequestSet mRequests
HttpRequestID mRequestIDSource
RequestMap mProcessingRequests

Member Typedef Documentation

typedef boost::lock_guard<Mutex> Sirikata::Command::HttpServer::Lock [private]
typedef boost::recursive_mutex Sirikata::Command::HttpServer::Mutex [private]

Constructor & Destructor Documentation

Sirikata::Command::HttpServer::HttpServer ( Context ctx,
const String host,
uint16  port 
)
Sirikata::Command::HttpServer::~HttpServer ( )

Member Function Documentation

void Sirikata::Command::HttpServer::acceptConnection ( ) [private]
void Sirikata::Command::HttpServer::handleConnection ( TCPSocketPtr  socket) [private]
void Sirikata::Command::HttpServer::handleReadRequestData ( HttpRequestPtr  req,
const boost::system::error_code &  ec,
std::size_t  bytes_transferred 
) [private]
void Sirikata::Command::HttpServer::handleRequest ( HttpRequestPtr  req) [private]
void Sirikata::Command::HttpServer::handleWriteResponseData ( HttpRequestPtr  req,
uint32  offset,
const boost::system::error_code &  ec,
std::size_t  bytes_transferred 
) [private]
void Sirikata::Command::HttpServer::readRequestData ( HttpRequestPtr  req) [private]
void Sirikata::Command::HttpServer::response ( HttpRequestID  id,
HttpStatus  status,
const Headers headers,
const String body 
)
void Sirikata::Command::HttpServer::writeResponseData ( HttpRequestPtr  req,
uint32  offset 
) [private]

Member Data Documentation

Referenced by acceptConnection(), and HttpServer().

Referenced by acceptConnection(), and HttpServer().

Referenced by HttpServer().

Referenced by handleConnection().


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