#include <TGo4TaskHandlerRunnable.h>
Public Member Functions | |
TGo4TaskHandlerRunnable (const char *name, TGo4ThreadManager *man, TGo4TaskHandler *hand, Bool_t receivermode=kTRUE) | |
virtual | ~TGo4TaskHandlerRunnable () |
virtual Int_t | Run (void *ptr)=0 |
TGo4TaskHandler * | GetTaskHandler () |
Protected Member Functions | |
Bool_t | CheckStopBuffer (TBuffer *buf, Int_t *result=0) |
Bool_t | CheckTransportOpen () |
Protected Attributes | |
TGo4Socket * | fxTransport |
TGo4TaskHandler * | fxTaskHandler |
Bool_t | fbReceiverMode |
TGo4BufferQueue * | fxBufferQueue |
Private Member Functions | |
TGo4TaskHandlerRunnable () |
This is the abstract interface for all runnables associated with the taskhandler class interface
Definition at line 31 of file TGo4TaskHandlerRunnable.h.
TGo4TaskHandlerRunnable::TGo4TaskHandlerRunnable | ( | const char * | name, | |
TGo4ThreadManager * | man, | |||
TGo4TaskHandler * | hand, | |||
Bool_t | receivermode = kTRUE | |||
) |
Definition at line 25 of file TGo4TaskHandlerRunnable.cxx.
References fbReceiverMode, and fxTaskHandler.
TGo4TaskHandlerRunnable::~TGo4TaskHandlerRunnable | ( | ) | [virtual] |
Definition at line 32 of file TGo4TaskHandlerRunnable.cxx.
TGo4TaskHandlerRunnable::TGo4TaskHandlerRunnable | ( | ) | [private] |
Bool_t TGo4TaskHandlerRunnable::CheckStopBuffer | ( | TBuffer * | buf, | |
Int_t * | result = 0 | |||
) | [protected] |
Test if buffer contains a message to stop this runnable. This mechanism is used to properly put taskhandler threads into parking position when connection is discarded. Value of buffer is set to external variable result optionally.
Definition at line 41 of file TGo4TaskHandlerRunnable.cxx.
References TGo4Log::Debug(), TGo4BufferQueue::DecodeValueBuffer(), TGo4Runnable::GetThread(), kComAbortTask, kComCloseInput, and TGo4Thread::Stop().
Referenced by TGo4StatusRunnable::Run(), TGo4DataRunnable::Run(), and TGo4CommandRunnable::Run().
Bool_t TGo4TaskHandlerRunnable::CheckTransportOpen | ( | ) | [protected] |
Test if socket transport exists and is open. If not open, sleep a while to avoid deadlooping of Run()
Definition at line 68 of file TGo4TaskHandlerRunnable.cxx.
References fxTransport, TGo4TaskHandler::Get_fguPORTWAITTIME(), TGo4Socket::IsOpen(), and TGo4Thread::Sleep().
Referenced by TGo4StatusRunnable::Run(), TGo4DataRunnable::Run(), and TGo4CommandRunnable::Run().
TGo4TaskHandler * TGo4TaskHandlerRunnable::GetTaskHandler | ( | ) |
Definition at line 36 of file TGo4TaskHandlerRunnable.cxx.
References fxTaskHandler.
Referenced by TGo4TaskHandlerException::TGo4TaskHandlerException().
virtual Int_t TGo4TaskHandlerRunnable::Run | ( | void * | ptr | ) | [pure virtual] |
The working function which runs in the thread
Implements TGo4Runnable.
Implemented in TGo4CommandRunnable, TGo4DataRunnable, and TGo4StatusRunnable.
Bool_t TGo4TaskHandlerRunnable::fbReceiverMode [protected] |
flag indicating operation mode of runnable, depending on client or server mode of task handler
Definition at line 66 of file TGo4TaskHandlerRunnable.h.
Referenced by TGo4StatusRunnable::Run(), TGo4DataRunnable::Run(), TGo4CommandRunnable::Run(), and TGo4TaskHandlerRunnable().
TGo4BufferQueue* TGo4TaskHandlerRunnable::fxBufferQueue [protected] |
Link to external buffer queue. For object sending mode.
Definition at line 69 of file TGo4TaskHandlerRunnable.h.
Referenced by TGo4StatusRunnable::Run(), TGo4DataRunnable::Run(), TGo4CommandRunnable::Run(), TGo4CommandRunnable::TGo4CommandRunnable(), TGo4DataRunnable::TGo4DataRunnable(), and TGo4StatusRunnable::TGo4StatusRunnable().
TGo4TaskHandler* TGo4TaskHandlerRunnable::fxTaskHandler [protected] |
link to external task handler (for server mode) 1 1
Definition at line 62 of file TGo4TaskHandlerRunnable.h.
Referenced by GetTaskHandler(), TGo4CommandRunnable::Run(), TGo4CommandRunnable::TGo4CommandRunnable(), TGo4DataRunnable::TGo4DataRunnable(), TGo4StatusRunnable::TGo4StatusRunnable(), and TGo4TaskHandlerRunnable().
TGo4Socket* TGo4TaskHandlerRunnable::fxTransport [protected] |
link to external inter-tasl transport channel
Definition at line 57 of file TGo4TaskHandlerRunnable.h.
Referenced by CheckTransportOpen(), TGo4StatusRunnable::Run(), TGo4DataRunnable::Run(), TGo4CommandRunnable::Run(), TGo4CommandRunnable::TGo4CommandRunnable(), TGo4DataRunnable::TGo4DataRunnable(), and TGo4StatusRunnable::TGo4StatusRunnable().