The Pedigree Project
0.1
|
#include <ZombieQueue.h>
Public Member Functions | |
void | addObject (ZombieObject *pObject) |
Public Member Functions inherited from RequestQueue | |
RequestQueue (const String &name) | |
virtual void | initialise () |
virtual void | destroy () |
MUST_USE_RESULT uint64_t | addRequest (size_t priority, uint64_t p1=0, uint64_t p2=0, uint64_t p3=0, uint64_t p4=0, uint64_t p5=0, uint64_t p6=0, uint64_t p7=0, uint64_t p8=0) |
MUST_USE_RESULT uint64_t | addRequest (size_t priority, ActionOnDuplicate action, uint64_t p1=0, uint64_t p2=0, uint64_t p3=0, uint64_t p4=0, uint64_t p5=0, uint64_t p6=0, uint64_t p7=0, uint64_t p8=0) |
uint64_t | addAsyncRequest (size_t priority, uint64_t p1=0, uint64_t p2=0, uint64_t p3=0, uint64_t p4=0, uint64_t p5=0, uint64_t p6=0, uint64_t p7=0, uint64_t p8=0) |
void | halt () |
void | resume () |
Static Public Member Functions | |
static ZombieQueue & | instance () |
Private Member Functions | |
virtual uint64_t | executeRequest (uint64_t p1, uint64_t p2, uint64_t p3, uint64_t p4, uint64_t p5, uint64_t p6, uint64_t p7, uint64_t p8) |
Static Private Attributes | |
static ZombieQueue | m_Instance |
Additional Inherited Members | |
Public Types inherited from RequestQueue | |
enum | ActionOnDuplicate { Block, NewRequest, ReturnImmediately } |
Protected Member Functions inherited from RequestQueue | |
RequestQueue (const RequestQueue &) | |
void | operator= (const RequestQueue &) |
virtual bool | compareRequests (const Request &a, const Request &b) |
bool | isRequestValid (const Request *r) |
int | work () |
Request * | getNextRequest () |
Static Protected Member Functions inherited from RequestQueue | |
static int | trampoline (void *p) |
static int | doAsync (void *p) |
Protected Attributes inherited from RequestQueue | |
Request * | m_pRequestQueue [REQUEST_QUEUE_NUM_PRIORITIES] |
volatile bool | m_Stop |
Mutex | m_RequestQueueMutex |
ConditionVariable | m_RequestQueueCondition |
ConditionVariable | m_AsyncRequestQueueCondition |
Thread * | m_pThread |
bool | m_Halted |
Mutex | m_HaltAcknowledged |
RequestQueueOverrunChecker | m_OverrunChecker |
size_t | m_nMaxAsyncRequests |
size_t | m_nAsyncRequests |
size_t | m_nTotalRequests |
String | m_Name |
ZombieQueue: takes zombie objects and frees them. This is used so those objects do not have to do something like "delete this", which is bad.
Definition at line 50 of file ZombieQueue.h.
|
privatevirtual |
Callback - classes are expected to inherit and override this function. It's called when a request needs to be executed (by the worker thread).
Implements RequestQueue.
Definition at line 44 of file ZombieQueue.cc.