OpenSDN source code
ResourceTable Class Referenceabstract

#include <resource_table.h>

Inheritance diagram for ResourceTable:
Collaboration diagram for ResourceTable:

Public Types

typedef boost::shared_ptr< ResourceKeyKeyPtr
 
typedef boost::shared_ptr< ResourceDataDataPtr
 
typedef ResourceTable::KeyPtr ResourceKeyPtr
 
typedef std::map< KeyPtr, DataPtr, KeyDataMapComparatorKeyDataMap
 
typedef KeyDataMap::iterator KeyDataMapIter
 

Public Member Functions

 ResourceTable (ResourceManager *rm)
 
virtual ~ResourceTable ()
 
virtual const std::string ToString ()=0
 
virtual DataPtr AllocateData (KeyPtr key)=0
 
virtual void RestoreKey (KeyPtr key, DataPtr data)=0
 
virtual void ReleaseKey (KeyPtr key, DataPtr data)=0
 
void InsertKey (KeyPtr key, DataPtr data)
 
void DeleteKey (KeyPtr key)
 
ResourceDataFindKey (KeyPtr key)
 
DataPtr FindKeyPtr (KeyPtr key)
 
void FlushStale ()
 
ResourceTable::DataPtr Allocate (KeyPtr key)
 
ResourceManagerresource_manager () const
 

Private Member Functions

 DISALLOW_COPY_AND_ASSIGN (ResourceTable)
 

Private Attributes

ResourceManagerrm_
 
KeyDataMap key_data_map_
 

Detailed Description

Definition at line 67 of file resource_table.h.

Member Typedef Documentation

◆ DataPtr

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

Definition at line 70 of file resource_table.h.

◆ KeyDataMap

Definition at line 72 of file resource_table.h.

◆ KeyDataMapIter

typedef KeyDataMap::iterator ResourceTable::KeyDataMapIter

Definition at line 73 of file resource_table.h.

◆ KeyPtr

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

Definition at line 69 of file resource_table.h.

◆ ResourceKeyPtr

Constructor & Destructor Documentation

◆ ResourceTable()

ResourceTable::ResourceTable ( ResourceManager rm)

Definition at line 39 of file resource_table.cc.

◆ ~ResourceTable()

ResourceTable::~ResourceTable ( )
virtual

Definition at line 42 of file resource_table.cc.

Member Function Documentation

◆ Allocate()

ResourceTable::DataPtr ResourceTable::Allocate ( KeyPtr  key)

Definition at line 81 of file resource_table.cc.

Here is the call graph for this function:

◆ AllocateData()

virtual DataPtr ResourceTable::AllocateData ( KeyPtr  key)
pure virtual

Implemented in IndexResourceTable.

◆ DeleteKey()

void ResourceTable::DeleteKey ( KeyPtr  key)

Definition at line 50 of file resource_table.cc.

◆ DISALLOW_COPY_AND_ASSIGN()

ResourceTable::DISALLOW_COPY_AND_ASSIGN ( ResourceTable  )
private

◆ FindKey()

ResourceData * ResourceTable::FindKey ( KeyPtr  key)

Definition at line 62 of file resource_table.cc.

Here is the call graph for this function:

◆ FindKeyPtr()

ResourceTable::DataPtr ResourceTable::FindKeyPtr ( KeyPtr  key)

Definition at line 54 of file resource_table.cc.

◆ FlushStale()

void ResourceTable::FlushStale ( )

Definition at line 67 of file resource_table.cc.

Here is the call graph for this function:

◆ InsertKey()

void ResourceTable::InsertKey ( KeyPtr  key,
DataPtr  data 
)

Definition at line 46 of file resource_table.cc.

◆ ReleaseKey()

virtual void ResourceTable::ReleaseKey ( KeyPtr  key,
DataPtr  data 
)
pure virtual

Implemented in IndexResourceTable.

◆ resource_manager()

ResourceManager* ResourceTable::resource_manager ( ) const
inline

Definition at line 86 of file resource_table.h.

◆ RestoreKey()

virtual void ResourceTable::RestoreKey ( KeyPtr  key,
DataPtr  data 
)
pure virtual

Implemented in IndexResourceTable.

◆ ToString()

virtual const std::string ResourceTable::ToString ( )
pure virtual

Implemented in IndexResourceTable.

Member Data Documentation

◆ key_data_map_

KeyDataMap ResourceTable::key_data_map_
private

Definition at line 89 of file resource_table.h.

◆ rm_

ResourceManager* ResourceTable::rm_
private

Definition at line 88 of file resource_table.h.


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