GSI Object Oriented Online Offline (Go4) GO4-6.4.0
Loading...
Searching...
No Matches
TGo4TaskHandlerRunnable.h
Go to the documentation of this file.
1// $Id$
2//-----------------------------------------------------------------------
3// The GSI Online Offline Object Oriented (Go4) Project
4// Experiment Data Processing at EE department, GSI
5//-----------------------------------------------------------------------
6// Copyright (C) 2000- GSI Helmholtzzentrum fuer Schwerionenforschung GmbH
7// Planckstr. 1, 64291 Darmstadt, Germany
8// Contact: http://go4.gsi.de
9//-----------------------------------------------------------------------
10// This software can be used under the license agreements as stated
11// in Go4License.txt file which is part of the distribution.
12//-----------------------------------------------------------------------
13
14#ifndef TGO4TASKHANDLERRUNNABLE_H
15#define TGO4TASKHANDLERRUNNABLE_H
16
17#include "TGo4Runnable.h"
18
19class TGo4Socket;
21class TGo4TaskHandler;
22class TGo4ObjectQueue;
23class TGo4BufferQueue;
24
30
32
33 public:
34
35 TGo4TaskHandlerRunnable(const char *name, TGo4ThreadManager *man, TGo4TaskHandler *hand, Bool_t receivermode=kTRUE);
36
38
39 Int_t Run(void *ptr) override = 0;
40
42
43 protected:
44
50 Bool_t CheckStopBuffer(TBuffer *buf, Int_t *result = nullptr);
51
54 Bool_t CheckTransportOpen();
55
58
63
66 Bool_t fbReceiverMode{kFALSE};
67
70
71 private:
73};
74
75#endif //TGO4TASKHANDLERRUNNABLE_H
Class containing a pointer queue for TBuffers.
Class containing a pointer queue for objects.
TGo4Runnable(const TGo4Runnable &right)
Int_t Run(void *ptr) override=0
The working function which runs in the thread.
Bool_t fbReceiverMode
flag indicating operation mode of runnable, depending on client or server mode of task handler
Bool_t CheckTransportOpen()
Test if socket transport exists and is open.
Bool_t CheckStopBuffer(TBuffer *buf, Int_t *result=nullptr)
Test if buffer contains a message to stop this runnable.
TGo4TaskHandler * fxTaskHandler
link to external task handler (for server mode) 1 1
TGo4Socket * fxTransport
link to external inter-tasl transport channel
TGo4TaskHandlerRunnable(const char *name, TGo4ThreadManager *man, TGo4TaskHandler *hand, Bool_t receivermode=kTRUE)
TGo4BufferQueue * fxBufferQueue
Link to external buffer queue.
This class is responsible for the interconnection of two tasks: provided are three communication chan...
Go4 thread manager.