GSI Object Oriented Online Offline (Go4) GO4-6.4.0
|
Runnable responsible for status object exchange between transport (socket) and buffer (queue) In receiver mode, status objects are received from transport and passed to the queue in non receiver mode, runnables waits for the queue and sends all status objects from the queue over the transport. More...
#include <TGo4StatusRunnable.h>
Public Member Functions | |
TGo4StatusRunnable (const char *name, TGo4ThreadManager *man, TGo4TaskHandler *hand, Bool_t receivermode=kTRUE) | |
virtual | ~TGo4StatusRunnable () |
Int_t | Run (void *) override |
The working function which runs in the thread. | |
![]() | |
TGo4TaskHandlerRunnable (const char *name, TGo4ThreadManager *man, TGo4TaskHandler *hand, Bool_t receivermode=kTRUE) | |
virtual | ~TGo4TaskHandlerRunnable () |
TGo4TaskHandler * | GetTaskHandler () |
![]() | |
TGo4Runnable (const char *name, TGo4ThreadManager *man) | |
TGo4Runnable (const TGo4Runnable &right) | |
virtual | ~TGo4Runnable () |
TGo4Thread * | GetThread () const |
TGo4ThreadManager * | GetThreadManager () const |
void | SetThread (TGo4Thread *gthread) |
Private Member Functions | |
TGo4StatusRunnable () | |
Additional Inherited Members | |
![]() | |
Bool_t | CheckStopBuffer (TBuffer *buf, Int_t *result=nullptr) |
Test if buffer contains a message to stop this runnable. | |
Bool_t | CheckTransportOpen () |
Test if socket transport exists and is open. | |
![]() | |
TGo4Runnable () | |
virtual Int_t | PostRun (void *ptr) |
Function which is called once after the Run()method on threadstop. | |
virtual Int_t | PreRun (void *ptr) |
Function which is called once before the Run() method on threadstart. | |
virtual void | ThreadCatch (TGo4Exception &ex) |
catch for exceptions occurring in workfunc | |
virtual void | UnexpectedCatch () |
catch for all unexpected exceptions happening in workfunc | |
![]() | |
Bool_t | fbReceiverMode {kFALSE} |
flag indicating operation mode of runnable, depending on client or server mode of task handler | |
TGo4BufferQueue * | fxBufferQueue {nullptr} |
Link to external buffer queue. | |
TGo4TaskHandler * | fxTaskHandler {nullptr} |
link to external task handler (for server mode) 1 1 | |
TGo4Socket * | fxTransport {nullptr} |
link to external inter-tasl transport channel | |
![]() | |
TGo4Thread * | fxGo4Thread {nullptr} |
Backlink to thread which runs this. | |
TGo4ThreadManager * | fxManager {nullptr} |
The threadmanager which is responsible for our thread. | |
Runnable responsible for status object exchange between transport (socket) and buffer (queue) In receiver mode, status objects are received from transport and passed to the queue in non receiver mode, runnables waits for the queue and sends all status objects from the queue over the transport.
Definition at line 30 of file TGo4StatusRunnable.h.
TGo4StatusRunnable::TGo4StatusRunnable | ( | const char * | name, |
TGo4ThreadManager * | man, | ||
TGo4TaskHandler * | hand, | ||
Bool_t | receivermode = kTRUE ) |
Definition at line 25 of file TGo4StatusRunnable.cxx.
References TGo4TaskHandlerRunnable::TGo4TaskHandlerRunnable(), TGo4TaskHandlerRunnable::fxBufferQueue, TGo4TaskHandlerRunnable::fxTaskHandler, and TGo4TaskHandlerRunnable::fxTransport.
|
virtual |
Definition at line 33 of file TGo4StatusRunnable.cxx.
|
private |
|
overridevirtual |
The working function which runs in the thread.
Implements TGo4TaskHandlerRunnable.
Definition at line 37 of file TGo4StatusRunnable.cxx.
References TGo4TaskHandlerRunnable::CheckStopBuffer(), TGo4TaskHandlerRunnable::CheckTransportOpen(), TGo4Log::Debug(), TGo4TaskHandlerRunnable::fbReceiverMode, TGo4TaskHandlerRunnable::fxBufferQueue, TGo4Runnable::fxManager, TGo4TaskHandlerRunnable::fxTransport, TGo4Runnable::GetThread(), TGo4SocketSignalHandler::IsLastSignalWINCH(), TGo4SocketSignalHandler::SetLastSignal(), and TGo4Thread::Stop().