OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ResourceManager Class Reference

#include <resource_manager.h>

Collaboration diagram for ResourceManager:

Public Types

typedef boost::shared_ptr
< ResourceKey
KeyPtr
 
typedef boost::shared_ptr
< ResourceData
DataPtr
 
typedef boost::shared_ptr
< ResourceRestoreReq
ResourceRestoreReqPtr
 

Public Member Functions

 ResourceManager (Agent *agent)
 
 ~ResourceManager ()
 
void Init ()
 
void ReserveIndex (Resource::Type, uint32_t index)
 
void ReleaseIndex (Resource::Type, uint32_t index)
 
ResourceManager::DataPtr Allocate (KeyPtr key)
 
void EnqueueRestore (KeyPtr key, DataPtr data)
 
void RestoreResource (KeyPtr key, DataPtr data)
 
void Release (KeyPtr key)
 
void Release (Resource::Type, uint32_t index)
 
ResourceTableresource_table (uint8_t type)
 
ResourceBackupManagerbackup_mgr ()
 
bool Audit ()
 
bool WorkQueueRestoreProcess (ResourceRestoreReqPtr restore_data)
 
Agentagent ()
 

Private Member Functions

 DISALLOW_COPY_AND_ASSIGN (ResourceManager)
 

Private Attributes

Agentagent_
 
boost::scoped_ptr< ResourceTableresource_table_ [Resource::MAX]
 
WorkQueue< ResourceRestoreReqPtrrestore_work_queue_
 
boost::scoped_ptr
< ResourceBackupManager
backup_mgr_
 

Detailed Description

Definition at line 21 of file resource_manager.h.

Member Typedef Documentation

typedef boost::shared_ptr<ResourceData> ResourceManager::DataPtr

Definition at line 24 of file resource_manager.h.

typedef boost::shared_ptr<ResourceKey> ResourceManager::KeyPtr

Definition at line 23 of file resource_manager.h.

Definition at line 25 of file resource_manager.h.

Constructor & Destructor Documentation

ResourceManager::ResourceManager ( Agent agent)

Definition at line 16 of file resource_manager.cc.

Here is the call graph for this function:

ResourceManager::~ResourceManager ( )

Definition at line 39 of file resource_manager.cc.

Member Function Documentation

Agent* ResourceManager::agent ( )
inline

Definition at line 46 of file resource_manager.h.

ResourceManager::DataPtr ResourceManager::Allocate ( KeyPtr  key)

Definition at line 89 of file resource_manager.cc.

Here is the call graph for this function:

bool ResourceManager::Audit ( )

Definition at line 125 of file resource_manager.cc.

ResourceBackupManager* ResourceManager::backup_mgr ( )
inline

Definition at line 41 of file resource_manager.h.

ResourceManager::DISALLOW_COPY_AND_ASSIGN ( ResourceManager  )
private
void ResourceManager::EnqueueRestore ( KeyPtr  key,
DataPtr  data 
)

Definition at line 54 of file resource_manager.cc.

Here is the call graph for this function:

void ResourceManager::Init ( )

Definition at line 42 of file resource_manager.cc.

void ResourceManager::Release ( KeyPtr  key)

Definition at line 100 of file resource_manager.cc.

Here is the call graph for this function:

void ResourceManager::Release ( Resource::Type  type,
uint32_t  index 
)

Definition at line 114 of file resource_manager.cc.

Here is the call graph for this function:

void ResourceManager::ReleaseIndex ( Resource::Type  type,
uint32_t  index 
)

Definition at line 81 of file resource_manager.cc.

Here is the call graph for this function:

void ResourceManager::ReserveIndex ( Resource::Type  type,
uint32_t  index 
)

Definition at line 75 of file resource_manager.cc.

Here is the call graph for this function:

ResourceTable * ResourceManager::resource_table ( uint8_t  type)

Definition at line 120 of file resource_manager.cc.

void ResourceManager::RestoreResource ( KeyPtr  key,
DataPtr  data 
)

Definition at line 61 of file resource_manager.cc.

Here is the call graph for this function:

bool ResourceManager::WorkQueueRestoreProcess ( ResourceRestoreReqPtr  restore_data)

Definition at line 47 of file resource_manager.cc.

Here is the call graph for this function:

Member Data Documentation

Agent* ResourceManager::agent_
private

Definition at line 48 of file resource_manager.h.

boost::scoped_ptr<ResourceBackupManager> ResourceManager::backup_mgr_
private

Definition at line 51 of file resource_manager.h.

boost::scoped_ptr<ResourceTable> ResourceManager::resource_table_[Resource::MAX]
private

Definition at line 49 of file resource_manager.h.

WorkQueue<ResourceRestoreReqPtr> ResourceManager::restore_work_queue_
private

Definition at line 50 of file resource_manager.h.


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