#include <NetServerTCP3.h>

Public Member Functions | |
| NetServerTCP3 () | |
| virtual | ~NetServerTCP3 () |
| 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) |
| virtual void | processMessage (NetMessage &message) |
Protected Member Functions | |
| void | checkNewConnections () |
| void | checkClients () |
| bool | startProcessing () |
| void | actualSendRecvFunc () |
| void | destroyDestination (unsigned int destinationId, NetMessage::DisconnectFlags type) |
| unsigned int | addDestination (TCPsocket &socket) |
Static Protected Member Functions | |
| static int | sendRecvThreadFunc (void *) |
Protected Attributes | |
| NetMessageHandler | outgoingMessageHandler_ |
| NetMessageHandler | incomingMessageHandler_ |
| TCPsocket | serverSock_ |
| SDLNet_SocketSet | serverSockSet_ |
| SDL_Thread * | sendRecvThread_ |
| bool | stopped_ |
| std::map< unsigned int, NetServerTCP3Destination * > | destinations_ |
| std::list < NetServerTCP3Destination * > | finishedDestinations_ |
| unsigned int | serverDestinationId_ |
| unsigned int | nextDestinationId_ |
Friends | |
| class | NetServerTCP3Destination |
Definition at line 27 of file NetServerTCP3.h.
| NetServerTCP3::NetServerTCP3 | ( | ) |
Definition at line 28 of file NetServerTCP3.cpp.
References NetOptions::instance(), NetOptions::readOptionsFromFile(), serverSockSet_, and NetOptions::writeOptionsToFile().
| NetServerTCP3::~NetServerTCP3 | ( | ) | [virtual] |
| bool NetServerTCP3::started | ( | ) | [virtual] |
Implements NetInterface.
Definition at line 46 of file NetServerTCP3.cpp.
References sendRecvThread_.
Referenced by stop().
| bool NetServerTCP3::connect | ( | const char * | hostName, | |
| int | portNo | |||
| ) | [virtual] |
Implements NetInterface.
Definition at line 52 of file NetServerTCP3.cpp.
References addDestination(), S3D::formatStringBuffer(), Logger::log(), serverDestinationId_, startProcessing(), and stop().
| bool NetServerTCP3::start | ( | int | portNo | ) | [virtual] |
Implements NetInterface.
Definition at line 89 of file NetServerTCP3.cpp.
References S3D::formatStringBuffer(), Logger::log(), NULL, serverSock_, serverSockSet_, startProcessing(), and stop().
| void NetServerTCP3::stop | ( | ) | [virtual] |
Implements NetInterface.
Definition at line 123 of file NetServerTCP3.cpp.
References disconnectAllClients(), and started().
| int NetServerTCP3::processMessages | ( | ) | [virtual] |
Implements NetInterface.
Definition at line 354 of file NetServerTCP3.cpp.
References incomingMessageHandler_, and NetMessageHandler::processMessages().
| void NetServerTCP3::setMessageHandler | ( | NetMessageHandlerI * | handler | ) | [virtual] |
Implements NetInterface.
Definition at line 360 of file NetServerTCP3.cpp.
References incomingMessageHandler_, and NetMessageHandler::setMessageHandler().
| void NetServerTCP3::disconnectAllClients | ( | ) | [virtual] |
Implements NetInterface.
Definition at line 309 of file NetServerTCP3.cpp.
References NetMessageHandler::addMessage(), NetMessage::DisconnectAllMessage, NetMessagePool::instance(), and outgoingMessageHandler_.
Referenced by stop().
| void NetServerTCP3::disconnectClient | ( | unsigned int | client | ) | [virtual] |
Implements NetInterface.
Definition at line 319 of file NetServerTCP3.cpp.
References NetMessageHandler::addMessage(), NetMessage::DisconnectMessage, NetMessagePool::instance(), and outgoingMessageHandler_.
| void NetServerTCP3::sendMessageServer | ( | NetBuffer & | buffer, | |
| unsigned int | flags = 0 | |||
| ) | [virtual] |
Implements NetInterface.
Definition at line 329 of file NetServerTCP3.cpp.
References sendMessageDest(), and serverDestinationId_.
| void NetServerTCP3::sendMessageDest | ( | NetBuffer & | buffer, | |
| unsigned int | destination, | |||
| unsigned int | flags = 0 | |||
| ) | [virtual] |
Implements NetInterface.
Definition at line 336 of file NetServerTCP3.cpp.
References NetMessageHandler::addMessage(), NetBuffer::allocate(), NetMessage::BufferMessage, NetBuffer::getBuffer(), NetMessage::getBuffer(), NetBuffer::getBufferUsed(), NetMessagePool::instance(), outgoingMessageHandler_, and NetBuffer::setBufferUsed().
Referenced by sendMessageServer().
| void NetServerTCP3::processMessage | ( | NetMessage & | message | ) | [virtual] |
Implements NetMessageHandlerI.
Definition at line 255 of file NetServerTCP3.cpp.
References NetBuffer::allocate(), destinations_, destroyDestination(), NetMessage::DisconnectAllMessage, NetMessage::DisconnectMessage, NetBuffer::getBuffer(), NetMessage::getBuffer(), NetBuffer::getBufferUsed(), NetMessage::getDestinationId(), NetMessage::getFlags(), NetMessagePool::getFromPool(), NetMessage::getIpAddress(), NetMessage::getMessageType(), NetMessagePool::instance(), NetMessage::KickDisconnect, NetServerTCP3Destination::sendMessage(), NetBuffer::setBufferUsed(), and stopped_.
| void NetServerTCP3::checkNewConnections | ( | ) | [protected] |
Definition at line 209 of file NetServerTCP3.cpp.
References addDestination(), serverSock_, and serverSockSet_.
Referenced by actualSendRecvFunc().
| void NetServerTCP3::checkClients | ( | ) | [protected] |
Definition at line 228 of file NetServerTCP3.cpp.
References NetServerTCP3Destination::allFinished(), NetServerTCP3Destination::anyFinished(), destinations_, destroyDestination(), finishedDestinations_, and NetMessage::UserDisconnect.
Referenced by actualSendRecvFunc().
| bool NetServerTCP3::startProcessing | ( | ) | [protected] |
Definition at line 132 of file NetServerTCP3.cpp.
References DIALOG_ASSERT, S3D::formatStringBuffer(), Logger::log(), outgoingMessageHandler_, sendRecvThread_, sendRecvThreadFunc(), and NetMessageHandler::setMessageHandler().
| void NetServerTCP3::actualSendRecvFunc | ( | ) | [protected] |
Definition at line 163 of file NetServerTCP3.cpp.
References checkClients(), checkNewConnections(), S3D::formatStringBuffer(), Clock::getTimeDifference(), Logger::log(), outgoingMessageHandler_, NetMessageHandler::processMessages(), serverSock_, and stopped_.
Referenced by sendRecvThreadFunc().
| int NetServerTCP3::sendRecvThreadFunc | ( | void * | c | ) | [static, protected] |
Definition at line 152 of file NetServerTCP3.cpp.
References actualSendRecvFunc(), S3D::formatStringBuffer(), Logger::log(), and sendRecvThread_.
Referenced by startProcessing().
| void NetServerTCP3::destroyDestination | ( | unsigned int | destinationId, | |
| NetMessage::DisconnectFlags | type | |||
| ) | [protected] |
Definition at line 366 of file NetServerTCP3.cpp.
References NetMessageHandler::addMessage(), NetServerTCP3Destination::close(), destinations_, NetMessage::DisconnectMessage, finishedDestinations_, NetServerTCP3Destination::getIpAddress(), incomingMessageHandler_, NetMessagePool::instance(), NetServerTCP3Destination::printStats(), serverDestinationId_, NetMessage::setFlags(), and stopped_.
Referenced by checkClients(), and processMessage().
| unsigned int NetServerTCP3::addDestination | ( | TCPsocket & | socket | ) | [protected] |
Definition at line 400 of file NetServerTCP3.cpp.
References NetMessageHandler::addMessage(), NetMessage::ConnectMessage, destinations_, NetInterface::getConnects(), NetServerTCP3Destination::getIpAddress(), incomingMessageHandler_, NetMessagePool::instance(), NetServerTCP3Destination, and nextDestinationId_.
Referenced by checkNewConnections(), and connect().
friend class NetServerTCP3Destination [friend] |
Definition at line 57 of file NetServerTCP3.h.
Referenced by actualSendRecvFunc(), disconnectAllClients(), disconnectClient(), sendMessageDest(), and startProcessing().
Definition at line 58 of file NetServerTCP3.h.
Referenced by addDestination(), destroyDestination(), processMessages(), and setMessageHandler().
TCPsocket NetServerTCP3::serverSock_ [protected] |
Definition at line 59 of file NetServerTCP3.h.
Referenced by actualSendRecvFunc(), checkNewConnections(), and start().
SDLNet_SocketSet NetServerTCP3::serverSockSet_ [protected] |
Definition at line 60 of file NetServerTCP3.h.
Referenced by checkNewConnections(), NetServerTCP3(), start(), and ~NetServerTCP3().
SDL_Thread* NetServerTCP3::sendRecvThread_ [protected] |
Definition at line 61 of file NetServerTCP3.h.
Referenced by sendRecvThreadFunc(), started(), and startProcessing().
bool NetServerTCP3::stopped_ [protected] |
Definition at line 62 of file NetServerTCP3.h.
Referenced by actualSendRecvFunc(), destroyDestination(), and processMessage().
std::map<unsigned int, NetServerTCP3Destination *> NetServerTCP3::destinations_ [protected] |
Definition at line 63 of file NetServerTCP3.h.
Referenced by addDestination(), checkClients(), destroyDestination(), and processMessage().
std::list<NetServerTCP3Destination *> NetServerTCP3::finishedDestinations_ [protected] |
Definition at line 64 of file NetServerTCP3.h.
Referenced by checkClients(), and destroyDestination().
unsigned int NetServerTCP3::serverDestinationId_ [protected] |
Definition at line 65 of file NetServerTCP3.h.
Referenced by connect(), destroyDestination(), and sendMessageServer().
unsigned int NetServerTCP3::nextDestinationId_ [protected] |
1.5.3