GSI Object Oriented Online Offline (Go4) GO4-6.4.0
|
Base class for all threadsafe pointer queues. More...
#include <TGo4Queue.h>
Public Member Functions | |
TGo4Queue (const char *name=nullptr) | |
virtual | ~TGo4Queue () |
void | Clear (Option_t *opt="") override |
Int_t | GetEntries () const |
Bool_t | IsEmpty () const |
void | SetMaxEntries (Int_t max) |
virtual void | Wake () |
Protected Member Functions | |
void | Add (TObject *ob) |
TObject * | Next () |
TObject * | Wait () |
Private Attributes | |
Bool_t | fbWakeUpCall {kFALSE} |
Int_t | fiEntries {0} |
Int_t | fiMaxEntries {0} |
TCondition * | fxCondition {nullptr} |
TList * | fxList {nullptr} |
TMutex * | fxMutex {nullptr} |
Base class for all threadsafe pointer queues.
TObject pointers are transported in queue without streaming. Subclasses may specialize the behaviour on adding and waiting.
Definition at line 31 of file TGo4Queue.h.
TGo4Queue::TGo4Queue | ( | const char * | name = nullptr | ) |
Definition at line 23 of file TGo4Queue.cxx.
References fbWakeUpCall, fiEntries, fiMaxEntries, fxCondition, fxList, and fxMutex.
Referenced by TGo4BufferQueue::TGo4BufferQueue(), TGo4BufferQueue::TGo4BufferQueue(), TGo4ObjectQueue::TGo4ObjectQueue(), and TGo4ObjectQueue::TGo4ObjectQueue().
|
virtual |
Definition at line 34 of file TGo4Queue.cxx.
References fxCondition, fxList, and fxMutex.
|
protected |
Definition at line 67 of file TGo4Queue.cxx.
References fiMaxEntries, fxCondition, fxList, fxMutex, and TGo4LockGuard.
Referenced by TGo4BufferQueue::AddBuffer(), TGo4BufferQueue::AddBufferFromObject(), TGo4ObjectQueue::AddObject(), and TGo4ObjectQueue::AddObjectFromBuffer().
|
override |
Definition at line 43 of file TGo4Queue.cxx.
References fxList, fxMutex, and TGo4LockGuard.
Referenced by TGo4ClientTask::DisconnectServer().
|
inline |
Definition at line 43 of file TGo4Queue.h.
References fiEntries.
Bool_t TGo4Queue::IsEmpty | ( | ) | const |
Definition at line 80 of file TGo4Queue.cxx.
References fxList, fxMutex, and TGo4LockGuard.
Referenced by main(), TGo4ServerTask::NextCommand(), TGo4Task::NextCommand(), TGo4Task::NextObject(), TGo4Task::NextStatus(), and Wait().
|
protected |
Definition at line 61 of file TGo4Queue.cxx.
References fxList, fxMutex, and TGo4LockGuard.
Referenced by TGo4BufferQueue::Clear(), and Wait().
|
inline |
Definition at line 45 of file TGo4Queue.h.
References fiMaxEntries.
|
protected |
Definition at line 49 of file TGo4Queue.cxx.
References fbWakeUpCall, fxCondition, IsEmpty(), and Next().
Referenced by TGo4BufferQueue::WaitBuffer(), and TGo4ObjectQueue::WaitObject().
|
virtual |
Definition at line 86 of file TGo4Queue.cxx.
References fbWakeUpCall, and fxCondition.
Referenced by TGo4TaskHandler::StopTransportThreads().
|
private |
Definition at line 58 of file TGo4Queue.h.
Referenced by TGo4Queue(), Wait(), and Wake().
|
private |
Definition at line 56 of file TGo4Queue.h.
Referenced by TGo4Queue(), and GetEntries().
|
private |
Definition at line 57 of file TGo4Queue.h.
Referenced by TGo4Queue(), Add(), and SetMaxEntries().
|
private |
Definition at line 54 of file TGo4Queue.h.
Referenced by TGo4Queue(), ~TGo4Queue(), Add(), Wait(), and Wake().
|
private |
Definition at line 55 of file TGo4Queue.h.
Referenced by TGo4Queue(), ~TGo4Queue(), Add(), Clear(), IsEmpty(), and Next().
|
private |
Definition at line 53 of file TGo4Queue.h.
Referenced by TGo4Queue(), ~TGo4Queue(), Add(), Clear(), IsEmpty(), and Next().