NetServerTCP Class Reference

#include <NetServerTCP.h>

Inheritance diagram for NetServerTCP:

NetInterface

List of all members.

Public Member Functions

 NetServerTCP (NetServerTCPProtocol *protocol)
virtual ~NetServerTCP ()
virtual bool started ()
virtual bool connect (const char *hostName, int portNo)
virtual bool start (int portNo)
virtual void stop ()
virtual int processMessages ()
virtual void setMessageHandler (NetMessageHandlerI *handler)
virtual void disconnectAllClients ()
virtual void disconnectClient (unsigned int client)
virtual void sendMessageServer (NetBuffer &buffer, unsigned int flags=0)
virtual void sendMessageDest (NetBuffer &buffer, unsigned int destination, unsigned int flags=0)

Protected Member Functions

bool pollIncoming ()
bool pollDeleted ()
void addClient (TCPsocket client)
void sendMessage (unsigned int client, NetMessage *message)
unsigned int getIpAddress (unsigned int destination)

Static Protected Member Functions

static int threadFunc (void *)

Protected Attributes

NetServerTCPProtocolprotocol_
TCPsocket server_
unsigned int lastId_
unsigned int firstDestination_
SDLNet_SocketSet sockSet_
std::map< unsigned
int,
NetServerTCPRead * > 
connections_
SDL_mutex * setMutex_
NetMessageHandler messageHandler_
bool checkDeleted_

Private Member Functions

 NetServerTCP (const NetServerTCP &)
const NetServerTCPoperator= (const NetServerTCP &)


Detailed Description

Definition at line 30 of file NetServerTCP.h.


Constructor & Destructor Documentation

NetServerTCP::NetServerTCP ( NetServerTCPProtocol protocol  ) 

Definition at line 29 of file NetServerTCP.cpp.

References setMutex_, sockSet_, and threadFunc().

NetServerTCP::~NetServerTCP (  )  [virtual]

Definition at line 39 of file NetServerTCP.cpp.

References setMutex_, and sockSet_.

NetServerTCP::NetServerTCP ( const NetServerTCP  )  [private]


Member Function Documentation

bool NetServerTCP::started (  )  [virtual]

Implements NetInterface.

Definition at line 57 of file NetServerTCP.cpp.

References firstDestination_, and server_.

bool NetServerTCP::connect ( const char *  hostName,
int  portNo 
) [virtual]

Implements NetInterface.

Definition at line 94 of file NetServerTCP.cpp.

References addClient(), and NetBufferUtil::setBlockingIO().

Referenced by ServerBrowserCollect::fetchServerList(), and ServerRegistrationEntry::registerGame().

bool NetServerTCP::start ( int  portNo  )  [virtual]

Implements NetInterface.

Definition at line 62 of file NetServerTCP.cpp.

References NULL, server_, NetBufferUtil::setBlockingIO(), and sockSet_.

Referenced by ServerWebServer::start().

void NetServerTCP::stop (  )  [virtual]

Implements NetInterface.

Definition at line 89 of file NetServerTCP.cpp.

References disconnectAllClients().

int NetServerTCP::processMessages (  )  [virtual]

Implements NetInterface.

Definition at line 52 of file NetServerTCP.cpp.

References messageHandler_, and NetMessageHandler::processMessages().

Referenced by ServerRegistrationEntry::actualThreadFunc(), ServerBrowserCollect::fetchServerList(), and ServerWebServer::processMessages().

void NetServerTCP::setMessageHandler ( NetMessageHandlerI handler  )  [virtual]

Implements NetInterface.

Definition at line 47 of file NetServerTCP.cpp.

References messageHandler_, and NetMessageHandler::setMessageHandler().

Referenced by ServerBrowserCollect::ServerBrowserCollect(), ServerRegistrationEntry::ServerRegistrationEntry(), and ServerWebServer::start().

void NetServerTCP::disconnectAllClients (  )  [virtual]

Implements NetInterface.

Definition at line 224 of file NetServerTCP.cpp.

References connections_, disconnectClient(), and setMutex_.

Referenced by ServerRegistrationEntry::actualThreadFunc(), ServerBrowserCollect::fetchServerList(), and stop().

void NetServerTCP::disconnectClient ( unsigned int  client  )  [virtual]

Implements NetInterface.

Definition at line 238 of file NetServerTCP.cpp.

References NetMessage::DisconnectMessage, getIpAddress(), NetMessagePool::instance(), and sendMessage().

Referenced by disconnectAllClients(), and ServerWebServer::processMessage().

void NetServerTCP::sendMessageServer ( NetBuffer buffer,
unsigned int  flags = 0 
) [virtual]

Implements NetInterface.

Definition at line 248 of file NetServerTCP.cpp.

References firstDestination_, and sendMessageDest().

Referenced by ServerBrowserCollect::fetchServerList(), and ServerRegistrationEntry::registerGame().

void NetServerTCP::sendMessageDest ( NetBuffer buffer,
unsigned int  destination,
unsigned int  flags = 0 
) [virtual]

Implements NetInterface.

Definition at line 254 of file NetServerTCP.cpp.

References NetBuffer::allocate(), NetBuffer::getBuffer(), NetMessage::getBuffer(), NetBuffer::getBufferUsed(), getIpAddress(), NetMessagePool::instance(), NetMessage::NoMessage, sendMessage(), and NetBuffer::setBufferUsed().

Referenced by ServerWebServer::processMessages(), ServerWebServer::processQueue(), ServerWebServer::processRequest(), and sendMessageServer().

int NetServerTCP::threadFunc ( void *  param  )  [static, protected]

Definition at line 118 of file NetServerTCP.cpp.

References checkDeleted_, S3D::formatStringBuffer(), Clock::getTimeDifference(), Logger::log(), pollDeleted(), pollIncoming(), and server_.

Referenced by NetServerTCP().

bool NetServerTCP::pollIncoming (  )  [protected]

Definition at line 150 of file NetServerTCP.cpp.

References addClient(), DIALOG_ASSERT, NetInterface::getConnects(), server_, NetBufferUtil::setBlockingIO(), and sockSet_.

Referenced by threadFunc().

bool NetServerTCP::pollDeleted (  )  [protected]

Definition at line 171 of file NetServerTCP.cpp.

References connections_, NetServerTCPRead::getDisconnect(), and setMutex_.

Referenced by threadFunc().

void NetServerTCP::addClient ( TCPsocket  client  )  [protected]

Definition at line 200 of file NetServerTCP.cpp.

References checkDeleted_, connections_, firstDestination_, lastId_, messageHandler_, protocol_, setMutex_, and NetServerTCPRead::start().

Referenced by connect(), and pollIncoming().

void NetServerTCP::sendMessage ( unsigned int  client,
NetMessage message 
) [protected]

Definition at line 273 of file NetServerTCP.cpp.

References NetServerTCPRead::addMessage(), NetMessagePool::addToPool(), connections_, S3D::formatStringBuffer(), NetMessagePool::instance(), Logger::log(), and setMutex_.

Referenced by disconnectClient(), and sendMessageDest().

unsigned int NetServerTCP::getIpAddress ( unsigned int  destination  )  [protected]

Definition at line 294 of file NetServerTCP.cpp.

References connections_, NetServerTCPRead::getIpAddress(), and setMutex_.

Referenced by disconnectClient(), and sendMessageDest().

const NetServerTCP& NetServerTCP::operator= ( const NetServerTCP  )  [private]


Member Data Documentation

NetServerTCPProtocol* NetServerTCP::protocol_ [protected]

Definition at line 52 of file NetServerTCP.h.

Referenced by addClient().

TCPsocket NetServerTCP::server_ [protected]

Definition at line 53 of file NetServerTCP.h.

Referenced by pollIncoming(), start(), started(), and threadFunc().

unsigned int NetServerTCP::lastId_ [protected]

Definition at line 54 of file NetServerTCP.h.

Referenced by addClient().

unsigned int NetServerTCP::firstDestination_ [protected]

Definition at line 55 of file NetServerTCP.h.

Referenced by addClient(), sendMessageServer(), and started().

SDLNet_SocketSet NetServerTCP::sockSet_ [protected]

Definition at line 56 of file NetServerTCP.h.

Referenced by NetServerTCP(), pollIncoming(), start(), and ~NetServerTCP().

std::map<unsigned int, NetServerTCPRead *> NetServerTCP::connections_ [protected]

Definition at line 57 of file NetServerTCP.h.

Referenced by addClient(), disconnectAllClients(), getIpAddress(), pollDeleted(), and sendMessage().

SDL_mutex* NetServerTCP::setMutex_ [protected]

Definition at line 58 of file NetServerTCP.h.

Referenced by addClient(), disconnectAllClients(), getIpAddress(), NetServerTCP(), pollDeleted(), sendMessage(), and ~NetServerTCP().

NetMessageHandler NetServerTCP::messageHandler_ [protected]

Definition at line 59 of file NetServerTCP.h.

Referenced by addClient(), processMessages(), and setMessageHandler().

bool NetServerTCP::checkDeleted_ [protected]

Definition at line 60 of file NetServerTCP.h.

Referenced by addClient(), and threadFunc().


The documentation for this class was generated from the following files:
Generated on Mon Feb 16 15:15:04 2009 for Scorched3D by  doxygen 1.5.3