NetServerTCPRead Class Reference

#include <NetServerTCPRead.h>

List of all members.

Public Member Functions

 NetServerTCPRead (unsigned int id, TCPsocket socket, NetServerTCPProtocol *protocol, NetMessageHandler *messageHandler, bool *checkDeleted)
virtual ~NetServerTCPRead ()
void start ()
bool getDisconnect ()
void addMessage (NetMessage *message)
unsigned int getIpAddress ()

Static Public Member Functions

static unsigned int getIpAddressFromSocket (TCPsocket socket)

Protected Member Functions

void actualCtrlThreadFunc ()
void actualSendRecvThreadFunc (bool send)
bool pollOutgoing ()
bool pollIncoming ()

Static Protected Member Functions

static int ctrlThreadFunc (void *)
static int sendThreadFunc (void *)
static int recvThreadFunc (void *)

Protected Attributes

unsigned int id_
bool * checkDeleted_
bool disconnect_
bool sentDisconnect_
TCPsocket socket_
SDLNet_SocketSet sockSet_
NetServerTCPProtocolprotocol_
NetMessageHandlermessageHandler_
SDL_mutex * outgoingMessagesMutex_
SDL_Thread * sendThread_
SDL_Thread * recvThread_
SDL_Thread * ctrlThread_
std::list< NetMessage * > newMessages_
unsigned int startCount_


Detailed Description

Definition at line 27 of file NetServerTCPRead.h.


Constructor & Destructor Documentation

NetServerTCPRead::NetServerTCPRead ( unsigned int  id,
TCPsocket  socket,
NetServerTCPProtocol protocol,
NetMessageHandler messageHandler,
bool *  checkDeleted 
)

Definition at line 28 of file NetServerTCPRead.cpp.

References outgoingMessagesMutex_, and sockSet_.

NetServerTCPRead::~NetServerTCPRead (  )  [virtual]

Definition at line 45 of file NetServerTCPRead.cpp.

References NetMessagePool::addToPool(), NetMessagePool::instance(), newMessages_, outgoingMessagesMutex_, and sockSet_.


Member Function Documentation

void NetServerTCPRead::start (  ) 

Definition at line 78 of file NetServerTCPRead.cpp.

References NetMessageHandler::addMessage(), NetMessage::ConnectMessage, ctrlThread_, ctrlThreadFunc(), getIpAddress(), id_, NetMessagePool::instance(), Logger::log(), messageHandler_, recvThread_, recvThreadFunc(), sendThread_, and sendThreadFunc().

Referenced by NetServerTCP::addClient().

bool NetServerTCPRead::getDisconnect (  ) 

Definition at line 122 of file NetServerTCPRead.cpp.

References ctrlThread_, disconnect_, and outgoingMessagesMutex_.

Referenced by NetServerTCP::pollDeleted().

void NetServerTCPRead::addMessage ( NetMessage message  ) 

Definition at line 99 of file NetServerTCPRead.cpp.

References NetMessageHandler::addMessage(), DIALOG_ASSERT, NetMessage::DisconnectMessage, NetBuffer::getBuffer(), NetMessage::getBuffer(), getIpAddress(), NetMessage::getMessageType(), id_, NetMessagePool::instance(), messageHandler_, newMessages_, outgoingMessagesMutex_, and sentDisconnect_.

Referenced by NetServerTCP::sendMessage().

unsigned int NetServerTCPRead::getIpAddress (  ) 

Definition at line 73 of file NetServerTCPRead.cpp.

References getIpAddressFromSocket(), and socket_.

Referenced by actualSendRecvThreadFunc(), addMessage(), NetServerTCP::getIpAddress(), and start().

unsigned int NetServerTCPRead::getIpAddressFromSocket ( TCPsocket  socket  )  [static]

Definition at line 62 of file NetServerTCPRead.cpp.

Referenced by getIpAddress(), NetServerHTTPProtocolRecv::readBuffer(), NetServerHTTPProtocolSend::readBuffer(), and NetServerTCPScorchedProtocol::readBuffer().

void NetServerTCPRead::actualCtrlThreadFunc (  )  [protected]

Definition at line 157 of file NetServerTCPRead.cpp.

References checkDeleted_, disconnect_, outgoingMessagesMutex_, recvThread_, sendThread_, socket_, and startCount_.

Referenced by ctrlThreadFunc().

void NetServerTCPRead::actualSendRecvThreadFunc ( bool  send  )  [protected]

Definition at line 184 of file NetServerTCPRead.cpp.

References NetMessageHandler::addMessage(), NetMessage::DisconnectMessage, S3D::formatStringBuffer(), getIpAddress(), Clock::getTimeDifference(), id_, NetMessagePool::instance(), Logger::log(), messageHandler_, outgoingMessagesMutex_, pollIncoming(), pollOutgoing(), sentDisconnect_, and startCount_.

Referenced by recvThreadFunc(), and sendThreadFunc().

bool NetServerTCPRead::pollOutgoing (  )  [protected]

Definition at line 262 of file NetServerTCPRead.cpp.

References NetMessageHandler::addMessage(), NetMessage::DisconnectMessage, NetMessage::getBuffer(), NetMessage::getMessageType(), id_, Logger::log(), messageHandler_, newMessages_, outgoingMessagesMutex_, protocol_, NetServerTCPProtocol::sendBuffer(), NetMessage::SentMessage, NetMessage::setType(), and socket_.

Referenced by actualSendRecvThreadFunc().

bool NetServerTCPRead::pollIncoming (  )  [protected]

Definition at line 227 of file NetServerTCPRead.cpp.

References NetMessageHandler::addMessage(), NetMessagePool::addToPool(), id_, NetMessagePool::instance(), messageHandler_, protocol_, NetServerTCPProtocol::readBuffer(), sentDisconnect_, socket_, and sockSet_.

Referenced by actualSendRecvThreadFunc().

int NetServerTCPRead::ctrlThreadFunc ( void *  netServerTCPRead  )  [static, protected]

Definition at line 136 of file NetServerTCPRead.cpp.

References actualCtrlThreadFunc().

Referenced by start().

int NetServerTCPRead::sendThreadFunc ( void *  netServerTCPRead  )  [static, protected]

Definition at line 143 of file NetServerTCPRead.cpp.

References actualSendRecvThreadFunc().

Referenced by start().

int NetServerTCPRead::recvThreadFunc ( void *  netServerTCPRead  )  [static, protected]

Definition at line 150 of file NetServerTCPRead.cpp.

References actualSendRecvThreadFunc().

Referenced by start().


Member Data Documentation

unsigned int NetServerTCPRead::id_ [protected]

Definition at line 45 of file NetServerTCPRead.h.

Referenced by actualSendRecvThreadFunc(), addMessage(), pollIncoming(), pollOutgoing(), and start().

bool* NetServerTCPRead::checkDeleted_ [protected]

Definition at line 46 of file NetServerTCPRead.h.

Referenced by actualCtrlThreadFunc().

bool NetServerTCPRead::disconnect_ [protected]

Definition at line 47 of file NetServerTCPRead.h.

Referenced by actualCtrlThreadFunc(), and getDisconnect().

bool NetServerTCPRead::sentDisconnect_ [protected]

Definition at line 47 of file NetServerTCPRead.h.

Referenced by actualSendRecvThreadFunc(), addMessage(), and pollIncoming().

TCPsocket NetServerTCPRead::socket_ [protected]

Definition at line 48 of file NetServerTCPRead.h.

Referenced by actualCtrlThreadFunc(), getIpAddress(), pollIncoming(), and pollOutgoing().

SDLNet_SocketSet NetServerTCPRead::sockSet_ [protected]

Definition at line 49 of file NetServerTCPRead.h.

Referenced by NetServerTCPRead(), pollIncoming(), and ~NetServerTCPRead().

NetServerTCPProtocol* NetServerTCPRead::protocol_ [protected]

Definition at line 50 of file NetServerTCPRead.h.

Referenced by pollIncoming(), and pollOutgoing().

NetMessageHandler* NetServerTCPRead::messageHandler_ [protected]

Definition at line 51 of file NetServerTCPRead.h.

Referenced by actualSendRecvThreadFunc(), addMessage(), pollIncoming(), pollOutgoing(), and start().

SDL_mutex* NetServerTCPRead::outgoingMessagesMutex_ [protected]

Definition at line 52 of file NetServerTCPRead.h.

Referenced by actualCtrlThreadFunc(), actualSendRecvThreadFunc(), addMessage(), getDisconnect(), NetServerTCPRead(), pollOutgoing(), and ~NetServerTCPRead().

SDL_Thread* NetServerTCPRead::sendThread_ [protected]

Definition at line 53 of file NetServerTCPRead.h.

Referenced by actualCtrlThreadFunc(), and start().

SDL_Thread* NetServerTCPRead::recvThread_ [protected]

Definition at line 54 of file NetServerTCPRead.h.

Referenced by actualCtrlThreadFunc(), and start().

SDL_Thread* NetServerTCPRead::ctrlThread_ [protected]

Definition at line 55 of file NetServerTCPRead.h.

Referenced by getDisconnect(), and start().

std::list<NetMessage *> NetServerTCPRead::newMessages_ [protected]

Definition at line 56 of file NetServerTCPRead.h.

Referenced by addMessage(), pollOutgoing(), and ~NetServerTCPRead().

unsigned int NetServerTCPRead::startCount_ [protected]

Definition at line 57 of file NetServerTCPRead.h.

Referenced by actualCtrlThreadFunc(), and actualSendRecvThreadFunc().


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