#include <MonitoredQueue.h>

Public Member Functions | |
MonitoredQueue () | |
Create a new MonitoredQueue. | |
virtual | ~MonitoredQueue () |
Destroy a MonitoredQueue, delete remaining items. | |
virtual void | add (const T &item) |
virtual bool | add (const T &item, unsigned long timeout) |
virtual T | next () |
virtual T | next (unsigned long timeout) |
virtual void | cancel () |
virtual bool | isCanceled () |
virtual size_t | size () |
virtual size_t | size (unsigned long timeout) |
virtual bool | empty () |
virtual bool | empty (unsigned long timeout) |
virtual void | acquire () |
virtual bool | tryAcquire (unsigned long timeout) |
virtual void | release () |
![]() | |
virtual | ~Queue () |
Destroy a Queue. | |
virtual void | add (const T &item)=0 |
virtual bool | add (const T &item, unsigned long timeout)=0 |
virtual T | next ()=0 |
virtual T | next (unsigned long timeout)=0 |
virtual void | cancel ()=0 |
virtual size_t | size ()=0 |
virtual size_t | size (unsigned long timeout)=0 |
virtual bool | empty () |
virtual bool | empty (unsigned long timeout) |
![]() | |
virtual | ~Cancelable () |
Destroy a Cancelable object. | |
virtual void | cancel ()=0 |
virtual bool | isCanceled ()=0 |
![]() | |
virtual | ~Lockable () |
Destroy a Lockable object. | |
virtual void | acquire ()=0 |
virtual bool | tryAcquire (unsigned long timeout)=0 |
virtual void | release ()=0 |
Detailed Description
class ZThread::MonitoredQueue< T, LockType, StorageType >
- Date
- <2003-07-16T20:23:28-0400>
- Version
- 2.3.0
A MonitoredQueue is a Queue implementation that provides serialized access to the items added to it.
- Threads calling the empty() methods will be blocked until the BoundedQueue becomes empty.
- Threads calling the next() methods will be blocked until the BoundedQueue has a value to return.
- See also
- Queue
Member Function Documentation
◆ acquire()
|
inlinevirtual |
Acquire the Lockable object.
This method may or may not block the caller for an indefinite amount of time. Those details are defined by specializations of this class.
- Exceptions
-
Interrupted_Exception thrown if the calling thread is interrupted before the operation completes.
- Postcondition
- The Lockable is acquired only if no exception was thrown.
Implements Lockable.
◆ add() [1/2]
|
inlinevirtual |
Add a value to this Queue.
- Parameters
-
item value to be added to the Queue
- Exceptions
-
Cancellation_Exception thrown if this Queue has been canceled. Interrupted_Exception thrown if the thread was interrupted while waiting to add a value
- Precondition
- The Queue should not have been canceled prior to the invocation of this function.
- Postcondition
- If no exception is thrown, a copy of item will have been added to the Queue.
- See also
- Queue::add(const T& item)
Implements Queue< T >.
◆ add() [2/2]
|
inlinevirtual |
Add a value to this Queue.
- Parameters
-
item value to be added to the Queue timeout maximum amount of time (milliseconds) this method may block the calling thread.
- Returns
- true if a copy of item can be added before timeout milliseconds elapse.
- false otherwise.
- Exceptions
-
Cancellation_Exception thrown if this Queue has been canceled. Interrupted_Exception thrown if the thread was interrupted while waiting to add a value
- Precondition
- The Queue should not have been canceled prior to the invocation of this function.
- Postcondition
- If no exception is thrown, a copy of item will have been added to the Queue.
Implements Queue< T >.
◆ cancel()
|
inlinevirtual |
Cancel this queue.
- Postcondition
- Any threads blocked by a next() function will throw a Cancellation_Exception.
- See also
- Queue::cancel()
Implements Queue< T >.
◆ empty() [1/2]
|
inlinevirtual |
Test whether any values are available in this Queue.
The calling thread is blocked until there are no values present in the Queue.
- Returns
- true if there are no values available.
- false if there are values available.
- See also
- Queue::empty()
Reimplemented from Queue< T >.
◆ empty() [2/2]
|
inlinevirtual |
Test whether any values are available in this Queue.
The calling thread is blocked until there are no values present in the Queue.
- Parameters
-
timeout maximum amount of time (milliseconds) this method may block the calling thread.
- Returns
- true if there are no values available.
- false if there are values available.
- Exceptions
-
Timeout_Exception thrown if timeout milliseconds expire before a value becomes available
- See also
- Queue::empty()
Reimplemented from Queue< T >.
◆ isCanceled()
|
inlinevirtual |
- See also
- Queue::isCanceled()
Implements Cancelable.
◆ next() [1/2]
|
inlinevirtual |
Retrieve and remove a value from this Queue.
If invoked when there are no values present to return then the calling thread will be blocked until a value arrives in the Queue.
- Returns
- T next available value
- Exceptions
-
Cancellation_Exception thrown if this Queue has been canceled. Interrupted_Exception thrown if the thread was interrupted while waiting to retrieve a value
- Precondition
- The Queue should not have been canceled prior to the invocation of this function.
- Postcondition
- The value returned will have been removed from the Queue.
Implements Queue< T >.
◆ next() [2/2]
|
inlinevirtual |
Retrieve and remove a value from this Queue.
If invoked when there are no values present to return then the calling thread will be blocked until a value arrives in the Queue.
- Parameters
-
timeout maximum amount of time (milliseconds) this method may block the calling thread.
- Returns
- T next available value
- Exceptions
-
Cancellation_Exception thrown if this Queue has been canceled. Timeout_Exception thrown if the timeout expires before a value can be retrieved.
- Precondition
- The Queue should not have been canceled prior to the invocation of this function.
- Postcondition
- The value returned will have been removed from the Queue.
Implements Queue< T >.
◆ release()
|
inlinevirtual |
◆ size() [1/2]
|
inlinevirtual |
- See also
- Queue::size()
Implements Queue< T >.
◆ size() [2/2]
|
inlinevirtual |
Implements Queue< T >.
◆ tryAcquire()
|
inlinevirtual |
Attempt to acquire the Lockable object.
This method may or may not block the caller for a definite amount of time. Those details are defined by specializations of this class; however, this method includes a timeout value that can be used to limit the maximum amount of time that a specialization could block.
- Parameters
-
timeout - maximum amount of time (milliseconds) this method could block
- Returns
- Exceptions
-
Interrupted_Exception thrown if the calling thread is interrupted before the operation completes.
- Postcondition
- The Lockable is acquired only if no exception was thrown.
Implements Lockable.
The documentation for this class was generated from the following file:
- MonitoredQueue.h