The Pedigree Project  0.1
Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Attributes | List of all members
ZombieQueue Class Reference

#include <ZombieQueue.h>

+ Inheritance diagram for ZombieQueue:
+ Collaboration diagram for ZombieQueue:

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 ZombieQueueinstance ()
 

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 ()
 
RequestgetNextRequest ()
 
- Static Protected Member Functions inherited from RequestQueue
static int trampoline (void *p)
 
static int doAsync (void *p)
 
- Protected Attributes inherited from RequestQueue
Requestm_pRequestQueue [REQUEST_QUEUE_NUM_PRIORITIES]
 
volatile bool m_Stop
 
Mutex m_RequestQueueMutex
 
ConditionVariable m_RequestQueueCondition
 
ConditionVariable m_AsyncRequestQueueCondition
 
Threadm_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
 

Detailed Description

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.

Member Function Documentation

uint64_t ZombieQueue::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 
)
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.


The documentation for this class was generated from the following files: