#include <TGo4Queue.h>
Public Member Functions | |
TGo4Queue (const char *name=0) | |
virtual | ~TGo4Queue () |
virtual void | Clear (Option_t *opt="") |
virtual void | Wake () |
Bool_t | IsEmpty () |
Int_t | GetEntries () const |
void | SetMaxEntries (Int_t max) |
Protected Member Functions | |
TObject * | Next () |
TObject * | Wait () |
void | Add (TObject *ob) |
Private Attributes | |
TMutex * | fxMutex |
TCondition * | fxCondition |
TList * | fxList |
Int_t | fiEntries |
Int_t | fiMaxEntries |
Bool_t | fbWakeUpCall |
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 = 0 |
) |
Definition at line 24 of file TGo4Queue.cxx.
References fxCondition, fxList, and fxMutex.
TGo4Queue::~TGo4Queue | ( | ) | [virtual] |
Definition at line 35 of file TGo4Queue.cxx.
References fxCondition, fxList, and fxMutex.
void TGo4Queue::Add | ( | TObject * | ob | ) | [protected] |
Definition at line 67 of file TGo4Queue.cxx.
References fiMaxEntries, fxCondition, fxList, and fxMutex.
Referenced by TGo4BufferQueue::AddBuffer(), TGo4BufferQueue::AddBufferFromObject(), TGo4ObjectQueue::AddObject(), and TGo4ObjectQueue::AddObjectFromBuffer().
void TGo4Queue::Clear | ( | Option_t * | opt = "" |
) | [virtual] |
Reimplemented in TGo4BufferQueue.
Definition at line 42 of file TGo4Queue.cxx.
References fxList, and fxMutex.
Referenced by TGo4TaskHandler::ClearQueues(), and TGo4ClientTask::DisconnectServer().
Int_t TGo4Queue::GetEntries | ( | ) | const [inline] |
Definition at line 43 of file TGo4Queue.h.
References fiEntries.
Bool_t TGo4Queue::IsEmpty | ( | ) |
Definition at line 85 of file TGo4Queue.cxx.
References fxList, and fxMutex.
Referenced by main(), TGo4Task::NextCommand(), TGo4ServerTask::NextCommand(), TGo4Task::NextObject(), TGo4Task::NextStatus(), and Wait().
TObject * TGo4Queue::Next | ( | ) | [protected] |
Definition at line 61 of file TGo4Queue.cxx.
References fxList, and fxMutex.
Referenced by TGo4BufferQueue::Clear(), and Wait().
void TGo4Queue::SetMaxEntries | ( | Int_t | max | ) | [inline] |
Definition at line 45 of file TGo4Queue.h.
References fiMaxEntries.
Referenced by TGo4TaskHandler::TGo4TaskHandler().
TObject * TGo4Queue::Wait | ( | ) | [protected] |
Definition at line 48 of file TGo4Queue.cxx.
References fbWakeUpCall, fxCondition, IsEmpty(), and Next().
Referenced by TGo4BufferQueue::WaitBuffer(), and TGo4ObjectQueue::WaitObject().
void TGo4Queue::Wake | ( | ) | [virtual] |
Definition at line 91 of file TGo4Queue.cxx.
References fbWakeUpCall, and fxCondition.
Referenced by TGo4TaskHandler::StopTransportThreads().
Bool_t TGo4Queue::fbWakeUpCall [private] |
Definition at line 58 of file TGo4Queue.h.
Int_t TGo4Queue::fiEntries [private] |
Definition at line 56 of file TGo4Queue.h.
Referenced by GetEntries().
Int_t TGo4Queue::fiMaxEntries [private] |
Definition at line 57 of file TGo4Queue.h.
Referenced by Add(), and SetMaxEntries().
TCondition* TGo4Queue::fxCondition [private] |
Definition at line 54 of file TGo4Queue.h.
Referenced by Add(), TGo4Queue(), Wait(), Wake(), and ~TGo4Queue().
TList* TGo4Queue::fxList [private] |
Definition at line 55 of file TGo4Queue.h.
Referenced by Add(), Clear(), IsEmpty(), Next(), TGo4Queue(), and ~TGo4Queue().
TMutex* TGo4Queue::fxMutex [private] |
Definition at line 53 of file TGo4Queue.h.
Referenced by Add(), Clear(), IsEmpty(), Next(), TGo4Queue(), and ~TGo4Queue().