v2.10-0 (21000JUN2005)

Go4TaskHandler
Class TGo4TaskHandlerRunnable

Direct Known Subclasses:
TGo4CommandRunnable, TGo4DataRunnable, TGo4StatusRunnable

abstract class TGo4TaskHandlerRunnable
derived from TGo4Runnable

This is the abstract interface for all runnables associated
with the taskhandler class

Stereotype interface

Field Summary
 protected Bool_tfbReceiverMode
          flag indicating operation mode of runnable, depending on client or server mode
of task handler
 protected TGo4BufferQueue*fxBufferQueue
          Link to external buffer queue.
 protected TGo4TaskHandler*fxTaskHandler
          link to external task handler (for server mode)
 protected TGo4Socket*fxTransport
          link to external inter-tasl transport channel

Fields inherited from class Go4ThreadManager.TGo4Runnable
fxGo4Thread, fxManager

Fields inherited from class TNamed
fName, fTitle

Constructor Summary
 TGo4TaskHandlerRunnable(const char * name, TGo4ThreadManager* man, TGo4TaskHandler* hand, Bool_t receivermode)
           
 private TGo4TaskHandlerRunnable()
           

Destructor Summary
 virtual synchronized ~TGo4TaskHandlerRunnable()
           

Method Summary
 protected Bool_tCheckStopBuffer(TBuffer* buf, Int_t* result)
          Test if buffer contains a message to stop this
runnable.
 protected Bool_tCheckTransportOpen()
          Test if socket transport exists and is open.
 TGo4TaskHandler*GetTaskHandler()
           
 abstract Int_tRun(void * ptr)
           

Methods inherited from class Go4ThreadManager.TGo4Runnable
GetThread, GetThreadManager, operator=, PostRun, PreRun, SetThread, ThreadCatch, UnexpectedCatch

Methods inherited from class TNamed
operator=, Clear, Clone, Compare, Copy, FillBuffer, GetName, GetTitle, Hash, IsSortable, SetName, SetNameTitle, SetTitle, ls, Print, Sizeof, Class, Class_Name, Class_Version, Dictionary, IsA, ShowMembers, Streamer, StreamerNVirtual, DeclFileName, ImplFileLine, ImplFileName, DeclFileLine

Field Detail

fbReceiverMode

protected Bool_t fbReceiverMode
flag indicating operation mode of runnable, depending on client or server mode
of task handler

fxBufferQueue

protected TGo4BufferQueue* fxBufferQueue
Link to external buffer queue. For object sending mode.

fxTaskHandler

protected TGo4TaskHandler* fxTaskHandler
link to external task handler (for server mode)
supplierCardinality 1
clientCardinality 1

fxTransport

protected TGo4Socket* fxTransport
link to external inter-tasl transport channel
Constructor Detail

TGo4TaskHandlerRunnable

public TGo4TaskHandlerRunnable(const char * name, TGo4ThreadManager* man, TGo4TaskHandler* hand, Bool_t receivermode)

TGo4TaskHandlerRunnable

private TGo4TaskHandlerRunnable()
Method Detail

~TGo4TaskHandlerRunnable

public virtual synchronized ~TGo4TaskHandlerRunnable()
Method Detail

CheckStopBuffer

protected Bool_t CheckStopBuffer(TBuffer* buf, Int_t* result)
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.

CheckTransportOpen

protected Bool_t CheckTransportOpen()
Test if socket transport exists and is open.
If not open, sleep a while to avoid deadlooping of Run()

GetTaskHandler

public TGo4TaskHandler* GetTaskHandler()

Run

public abstract Int_t Run(void * ptr)

Association Links

to Class TGo4Socket

link to external inter-tasl transport channel

to Class TGo4TaskHandler

link to external task handler (for server mode)

Client Cardinality 1
Supplier Cardinality 1

to Class TGo4BufferQueue

Link to external buffer queue. For object sending mode.

J.Adamczewski, M.Al-Turany, D.Bertini, H.G.Essel, S.Linev

30-06-2005