|
CMSDK 2.0.1
Cross-platform C++ base library and SDK for the Psyclone AIOS platform
|
WaitQueue specialization for owned heap pointers: clear()/destructor delete remaining entries. More...
#include <Utils.h>
Public Member Functions | |
| WaitQueuePointer () | |
| virtual | ~WaitQueuePointer () |
| T | waitForAndTakeFirst (uint32 timeoutMS) |
| Convenience overload: dequeue with timeout, returning NULL instead of using an out-parameter. | |
| virtual bool | clear () |
| Delete every queued pointer and empty the queue. | |
| Public Member Functions inherited from cmlabs::utils::WaitQueue< T > | |
| WaitQueue () | |
| virtual | ~WaitQueue () |
| bool | add (T entry) |
| Append an entry and wake one waiting consumer. | |
| uint32 | getCount () |
| Number of queued entries. | |
| bool | peekFirst (T &first) |
| Copy the front entry without removing it. | |
| bool | takeFirst (T &first) |
| Remove and return the front entry. | |
| bool | waitForAndPeekFirst (T &first, uint32 timeoutMS) |
Block up to timeoutMS for an entry and peek it without removal. | |
| bool | waitForAndTakeFirst (T &first, uint32 timeoutMS) |
Block up to timeoutMS for an entry and dequeue it. | |
Additional Inherited Members | |
| Protected Attributes inherited from cmlabs::utils::WaitQueue< T > | |
| Mutex | mutex |
| Semaphore | semaphore |
| std::queue< T > | internalQueue |
WaitQueue specialization for owned heap pointers: clear()/destructor delete remaining entries.
| T | Pointer type (e.g. Message*). NULL is returned on timeout, so NULL must not be a valid element. |
|
inline |
|
inlinevirtual |
|
inlinevirtual |
Delete every queued pointer and empty the queue.
Reimplemented from cmlabs::utils::WaitQueue< T >.
Definition at line 839 of file Utils.h.
References cmlabs::utils::WaitQueue< T >::internalQueue, and cmlabs::utils::WaitQueue< T >::mutex.
Referenced by ~WaitQueuePointer().
|
inline |
Convenience overload: dequeue with timeout, returning NULL instead of using an out-parameter.
| timeoutMS | Max wait in ms. |
Definition at line 830 of file Utils.h.
References cmlabs::utils::WaitQueue< T >::waitForAndTakeFirst().