ddc
|
low-level class implementing a single CDDCServer per-client worker thread More...
#include <ServerThread.h>
Public Member Functions | |
CDDCServerThread (CDDCServer *Parent=NULL, size_t ThreadId=1) | |
virtual | ~CDDCServerThread () |
virtual void * | run () |
Public Member Functions inherited from ddcThread | |
ddcThread () | |
virtual | ~ddcThread () |
pthread_t | self () const |
get current thread-id More... | |
virtual std::string | toString () const |
get string representation of the current thread More... | |
pthread_attr_t * | attr () const |
get current thread attributes (for use by child classes) More... | |
int | running () const |
get value of m_running flag More... | |
int | detached () const |
get value of m_detached flag More... | |
virtual void | init () |
virtual int | start () |
virtual int | join () |
virtual int | detach (bool force=false) |
Public Attributes | |
size_t | m_ThreadId |
string | m_Label |
CDDCServer * | m_Parent |
CDDCServer * | m_Server |
int | m_Client |
Additional Inherited Members | |
Protected Attributes inherited from ddcThread | |
pthread_t | m_tid |
underlying thread handle More... | |
pthread_attr_t * | m_attr |
underlying thread attributes (NULL by default) More... | |
int | m_running |
is this thread is currently running? More... | |
int | m_detached |
is this thread currently detached? More... | |
low-level class implementing a single CDDCServer per-client worker thread
CDDCServerThread::CDDCServerThread | ( | CDDCServer * | Parent = NULL , |
size_t | ThreadId = 1 |
||
) |
default constructor; set ClientSocket=-1 for pool threads
References m_Parent, m_Server, CDDCServer::WorkerClone(), and CDDCServer::WorkerCloneInit().
Referenced by CDDCServerThreadPool::start().
|
virtual |
destructor calls m_Server->WorkerCloneFree() and deletes it
References m_Server, and CDDCServer::WorkerCloneFree().
|
virtual |
DDCThread API guts: process parent pool queue
Implements ddcThread.
References ddc_thread_init(), ddcLogDebug, ddcLogWarn, Format(), CDDCServer::HandleClientConnection(), m_Client, CHost::m_CorpusName, m_Label, CDDCServerThreadPool::m_mutex, m_Parent, CDDCServerThreadPool::m_Queue, m_Server, CDDCServer::m_ServerStats, CDDCServer::m_SessionStats, m_ThreadId, CDDCServer::m_ThreadPool, CDDCServer::m_WorkerId, and ddcThreadQueue< T >::remove().
size_t CDDCServerThread::m_ThreadId |
worker-index
Referenced by run().
CDDCServer* CDDCServerThread::m_Parent |
parent server (read-only)
Referenced by CDDCServerThread(), and run().
CDDCServer* CDDCServerThread::m_Server |
thread-local server (worker copy)
Referenced by CDDCServerThread(), run(), and ~CDDCServerThread().
int CDDCServerThread::m_Client |
connected client socket
Referenced by run().