Sirikata
|
#include <DiskManager.hpp>
Classes | |
class | DiskRequest |
class | ReadRequest |
class | ScanRequest |
class | WriteRequest |
Public Member Functions | |
DiskManager () | |
~DiskManager () | |
void | addRequest (std::tr1::shared_ptr< DiskRequest > req) |
Static Public Member Functions | |
static DiskManager & | getSingleton () |
static void | destroy () |
Private Member Functions | |
void | workerThread () |
Private Attributes | |
ThreadSafeQueue < std::tr1::shared_ptr < DiskRequest > > | mRequestQueue |
Thread * | mWorkerThread |
boost::mutex | destroyLock |
boost::condition_variable | destroyCV |
Sirikata::Transfer::DiskManager::DiskManager | ( | ) |
References mWorkerThread, and workerThread().
Sirikata::Transfer::DiskManager::~DiskManager | ( | ) |
References destroyCV, destroyLock, mRequestQueue, mWorkerThread, and Sirikata::ThreadSafeQueue< T >::push().
void Sirikata::Transfer::DiskManager::addRequest | ( | std::tr1::shared_ptr< DiskRequest > | req | ) |
References mRequestQueue, and Sirikata::ThreadSafeQueue< T >::push().
void Sirikata::Transfer::DiskManager::destroy | ( | ) | [static] |
Reimplemented from Sirikata::AutoSingleton< DiskManager >.
DiskManager & Sirikata::Transfer::DiskManager::getSingleton | ( | ) | [static] |
Reimplemented from Sirikata::AutoSingleton< DiskManager >.
void Sirikata::Transfer::DiskManager::workerThread | ( | ) | [private] |
References Sirikata::ThreadSafeQueue< T >::blockingPop(), destroyCV, destroyLock, and mRequestQueue.
Referenced by DiskManager().
boost::condition_variable Sirikata::Transfer::DiskManager::destroyCV [private] |
Referenced by workerThread(), and ~DiskManager().
boost::mutex Sirikata::Transfer::DiskManager::destroyLock [private] |
Referenced by workerThread(), and ~DiskManager().
ThreadSafeQueue<std::tr1::shared_ptr<DiskRequest> > Sirikata::Transfer::DiskManager::mRequestQueue [private] |
Referenced by addRequest(), workerThread(), and ~DiskManager().
Referenced by DiskManager(), and ~DiskManager().