# Home    # nevrax.com   
Nevrax
Nevrax.org
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
Docs
 
Documentation  
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  

NLNET::CServerReceiveTask Class Reference

Code of receiving threads for servers. More...

#include <buf_server.h>

Inheritance diagram for NLNET::CServerReceiveTask:

NLMISC::IRunnable NLNET::CServerTask List of all members.

Public Methods

 CServerReceiveTask (CBufServer *server)
 Constructor. More...

virtual void run ()
 Run. More...

uint numberOfConnections ()
 Returns the number of connections handled by the thread (mutexed on _Connections). More...

void addNewSocket (TSockId sockid)
 Add a new connection into this thread (mutexed on _Connections). More...

void addToRemoveSet (TSockId sockid)
 Add connection to the remove set (mutexed on _RemoveSet) Note: you must not call this method within a mutual exclusion on _Connections, or there will be a deadlock (see clearClosedConnection()). More...

void clearClosedConnections ()
 Delete all connections referenced in the remove list (mutexed on _RemoveSet and on _Connections). More...

CBufServerserver ()
 Access to the server. More...


Private Attributes

CBufServer_Server
NLMISC::CSynchronized< CConnections_Connections
NLMISC::CSynchronized< CConnections_RemoveSet

Friends

class CBufServer

Detailed Description

Code of receiving threads for servers.

Note: the methods locations in the classes do not correspond to the threads where they are executed, but to the data they use.

Definition at line 402 of file buf_server.h.


Constructor & Destructor Documentation

NLNET::CServerReceiveTask::CServerReceiveTask CBufServer   server [inline]
 

Constructor.

Definition at line 407 of file buf_server.h.

References _Connections, _RemoveSet, _Server, CBufServer, CServerReceiveTask, NLNET::CServerTask::CServerTask, and server.

Referenced by CServerReceiveTask.


Member Function Documentation

void NLNET::CServerReceiveTask::addNewSocket TSockId    sockid [inline]
 

Add a new connection into this thread (mutexed on _Connections).

Definition at line 424 of file buf_server.h.

References _Connections, nlassert, and NLNET::TSockId.

void NLNET::CServerReceiveTask::addToRemoveSet TSockId    sockid [inline]
 

Add connection to the remove set (mutexed on _RemoveSet) Note: you must not call this method within a mutual exclusion on _Connections, or there will be a deadlock (see clearClosedConnection()).

Definition at line 441 of file buf_server.h.

References _RemoveSet, nlassert, nlnettrace, and NLNET::TSockId.

void NLNET::CServerReceiveTask::clearClosedConnections  
 

Delete all connections referenced in the remove list (mutexed on _RemoveSet and on _Connections).

Definition at line 1142 of file buf_server.cpp.

References _Connections, _RemoveSet, nldebug, and NLNET::TSockId.

Referenced by run.

uint NLNET::CServerReceiveTask::numberOfConnections   [inline]
 

Returns the number of connections handled by the thread (mutexed on _Connections).

Definition at line 413 of file buf_server.h.

References _Connections.

void NLNET::CServerReceiveTask::run   [virtual]
 

Run.

Implements NLMISC::IRunnable.

Definition at line 939 of file buf_server.cpp.

References _Connections, _Server, NLNET::CFifoAccessor, clearClosedConnections, NLNET::CServerTask::exitRequired, nldebug, nlnettrace, NLMISC::nlSleep, res, and NLNET::TSockId.

CBufServer* NLNET::CServerReceiveTask::server   [inline]
 

Access to the server.

Definition at line 468 of file buf_server.h.

References _Server, and CBufServer.

Referenced by CServerReceiveTask.


Friends And Related Function Documentation

friend class CBufServer [friend]
 

Definition at line 470 of file buf_server.h.

Referenced by CServerReceiveTask, and server.


Member Data Documentation

NLMISC::CSynchronized<CConnections> NLNET::CServerReceiveTask::_Connections [private]
 

Definition at line 479 of file buf_server.h.

Referenced by addNewSocket, clearClosedConnections, CServerReceiveTask, numberOfConnections, and run.

NLMISC::CSynchronized<CConnections> NLNET::CServerReceiveTask::_RemoveSet [private]
 

Definition at line 482 of file buf_server.h.

Referenced by addToRemoveSet, clearClosedConnections, and CServerReceiveTask.

CBufServer* NLNET::CServerReceiveTask::_Server [private]
 

Definition at line 474 of file buf_server.h.

Referenced by CServerReceiveTask, run, and server.


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