GSI Object Oriented Online Offline (Go4)
GO4-6.3.0
|
#include <TGo4DataRunnable.h>
Public Member Functions | |
TGo4DataRunnable (const char *name, TGo4ThreadManager *man, TGo4TaskHandler *hand, Bool_t receivermode=kTRUE) | |
virtual | ~TGo4DataRunnable () |
Int_t | Run (void *) override |
![]() | |
TGo4TaskHandlerRunnable (const char *name, TGo4ThreadManager *man, TGo4TaskHandler *hand, Bool_t receivermode=kTRUE) | |
virtual | ~TGo4TaskHandlerRunnable () |
TGo4TaskHandler * | GetTaskHandler () |
![]() | |
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 | |
![]() | |
Bool_t | CheckStopBuffer (TBuffer *buf, Int_t *result=nullptr) |
Bool_t | CheckTransportOpen () |
![]() | |
TGo4Runnable () | |
virtual Int_t | PreRun (void *ptr) |
virtual Int_t | PostRun (void *ptr) |
virtual void | ThreadCatch (TGo4Exception &ex) |
virtual void | UnexpectedCatch () |
![]() | |
TGo4Socket * | fxTransport {nullptr} |
TGo4TaskHandler * | fxTaskHandler {nullptr} |
Bool_t | fbReceiverMode {kFALSE} |
TGo4BufferQueue * | fxBufferQueue {nullptr} |
![]() | |
TGo4ThreadManager * | fxManager {nullptr} |
TGo4Thread * | fxGo4Thread {nullptr} |
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 26 of file TGo4DataRunnable.cxx.
References TGo4TaskHandlerRunnable::fxBufferQueue, TGo4TaskHandlerRunnable::fxTaskHandler, TGo4TaskHandlerRunnable::fxTransport, TGo4TaskHandler::GetDataQueue(), and TGo4TaskHandler::GetDataTransport().
|
virtual |
Definition at line 36 of file TGo4DataRunnable.cxx.
|
private |
|
overridevirtual |
The working function which runs in the thread
Implements TGo4TaskHandlerRunnable.
Definition at line 40 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().