#include <VisFramework/VisFrameworkBase/interface/VisQueue.h>
Public Member Functions | |
VisQueue (IgState *state) | |
Construct the queue. | |
~VisQueue (void) | |
Destroy the object and detach it from the state. | |
Private Member Functions | |
IG_DECLARE_STATE_ELEMENT (VisQueue) | |
Private Attributes | |
IgState * | m_state |
VisQueue is a thread-safe queue for communicating actions to be executed by the visualisation analysis module in the framework thread. This state element is created early in the initialisation in the application IgState. Clients should use this element to queue commands for the VisQueueProcessor instead of accessing the latter directly. The processor pops commands off this queue and executes them in its own thread context.
The queue has first-in first-out (FIFO) logic: queued commands are executed in the order they were inserted. It can be pushed into by any thread.
Use VisQueueProcessor::scheduleNextEvent() to queue a command to advance to the next event and VisQueueProcessor::scheduleAbort() to queue a command to abort the run. Both are normal commands and thus executed in FIFO order relative to other commands.
Definition at line 38 of file VisQueue.h.
VisQueue::VisQueue | ( | IgState * | state | ) |
Construct the queue.
Definition at line 21 of file VisQueue.cc.
References ASSERT, m_state, and IgState::put().
00022 : TSqueue<lat::Callback> (1000, 1), m_state (state) 00023 { ASSERT (m_state); m_state->put (s_key, this); }
VisQueue::~VisQueue | ( | void | ) |
Destroy the object and detach it from the state.
Definition at line 26 of file VisQueue.cc.
References ASSERT, IgState::detach(), and m_state.
VisQueue::IG_DECLARE_STATE_ELEMENT | ( | VisQueue | ) | [private] |
IgState* VisQueue::m_state [private] |