GSI Object Oriented Online Offline (Go4)
GO4-5.3.2
|
#include <TGo4DataRunnable.h>
Public Member Functions | |
TGo4DataRunnable (const char *name, TGo4ThreadManager *man, TGo4TaskHandler *hand, Bool_t receivermode=kTRUE) | |
virtual | ~TGo4DataRunnable () |
virtual Int_t | Run (void *ptr) |
Public Member Functions inherited from TGo4TaskHandlerRunnable | |
TGo4TaskHandlerRunnable (const char *name, TGo4ThreadManager *man, TGo4TaskHandler *hand, Bool_t receivermode=kTRUE) | |
virtual | ~TGo4TaskHandlerRunnable () |
TGo4TaskHandler * | GetTaskHandler () |
Public Member Functions inherited from TGo4Runnable | |
TGo4Runnable (const TGo4Runnable &right) | |
TGo4Runnable (const char *name, TGo4ThreadManager *man) | |
virtual | ~TGo4Runnable () |
void | SetThread (TGo4Thread *gthread) |
TGo4Thread * | GetThread () const |
TGo4ThreadManager * | GetThreadManager () const |
Private Member Functions | |
TGo4DataRunnable () | |
Additional Inherited Members | |
Protected Member Functions inherited from TGo4TaskHandlerRunnable | |
Bool_t | CheckStopBuffer (TBuffer *buf, Int_t *result=0) |
Bool_t | CheckTransportOpen () |
Protected Member Functions inherited from TGo4Runnable | |
TGo4Runnable () | |
virtual Int_t | PreRun (void *ptr) |
virtual Int_t | PostRun (void *ptr) |
virtual void | ThreadCatch (TGo4Exception &ex) |
virtual void | UnexpectedCatch () |
Protected Attributes inherited from TGo4TaskHandlerRunnable | |
TGo4Socket * | fxTransport |
TGo4TaskHandler * | fxTaskHandler |
Bool_t | fbReceiverMode |
TGo4BufferQueue * | fxBufferQueue |
Protected Attributes inherited from TGo4Runnable | |
TGo4ThreadManager * | fxManager |
TGo4Thread * | fxGo4Thread |
Runnable responsible for data object exchange between transport (socket) and buffer (queue) In receiver mode, data objects are received from transport and passed to the queue in non receiver mode, runnables waits for the queue and sends all data objects from the queue over the transport thread
Definition at line 30 of file TGo4DataRunnable.h.
TGo4DataRunnable::TGo4DataRunnable | ( | const char * | name, |
TGo4ThreadManager * | man, | ||
TGo4TaskHandler * | hand, | ||
Bool_t | receivermode = kTRUE |
||
) |
Definition at line 28 of file TGo4DataRunnable.cxx.
References TGo4TaskHandlerRunnable::fxBufferQueue, TGo4TaskHandlerRunnable::fxTaskHandler, TGo4TaskHandlerRunnable::fxTransport, TGo4TaskHandler::GetDataQueue(), and TGo4TaskHandler::GetDataTransport().
|
virtual |
Definition at line 38 of file TGo4DataRunnable.cxx.
|
private |
|
virtual |
The working function which runs in the thread
Implements TGo4TaskHandlerRunnable.
Definition at line 42 of file TGo4DataRunnable.cxx.
References TGo4BufferQueue::AddBuffer(), TGo4TaskHandlerRunnable::CheckStopBuffer(), TGo4TaskHandlerRunnable::CheckTransportOpen(), TGo4Log::Debug(), TGo4TaskHandlerRunnable::fbReceiverMode, TGo4BufferQueue::FreeBuffer(), TGo4TaskHandlerRunnable::fxBufferQueue, TGo4Runnable::fxManager, TGo4TaskHandlerRunnable::fxTransport, TGo4Socket::GetBuffer(), TGo4Runnable::GetThread(), TGo4SocketSignalHandler::IsLastSignalWINCH(), TGo4ThreadManager::IsTerminating(), kComQuit, TGo4Socket::ReceiveBuffer(), TGo4Socket::SendBuffer(), TGo4SocketSignalHandler::SetLastSignal(), TGo4Thread::Stop(), TGo4Task::SubmitLocalCommand(), and TGo4BufferQueue::WaitBuffer().