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

#include <db_table_partition.h>

Inheritance diagram for DBTablePartBase:
Collaboration diagram for DBTablePartBase:

Public Types

typedef
boost::intrusive::member_hook
< DBEntryBase,
boost::intrusive::list_member_hook
<>,&DBEntryBase::chg_list_
ChangeListMember
 
typedef boost::intrusive::list
< DBEntryBase,
ChangeListMember
ChangeList
 

Public Member Functions

 DBTablePartBase (DBTableBase *tbl_base, int index)
 
virtual void Process (DBClient *client, DBRequest *req)=0
 
void Notify (DBEntryBase *entry)
 
bool RunNotify ()
 
DBTableBaseparent ()
 
int index () const
 
virtual void Remove (DBEntryBase *)=0
 
void Delete (DBEntryBase *)
 
virtual DBEntryBaselower_bound (const DBEntryBase *key)=0
 
virtual DBEntryBaseGetFirst ()=0
 
virtual DBEntryBaseGetNext (const DBEntryBase *)=0
 
tbb::spin_rw_mutex & dbstate_mutex ()
 
virtual ~DBTablePartBase ()
 

Static Public Attributes

static const int kMaxIterations = 256
 

Private Member Functions

 DISALLOW_COPY_AND_ASSIGN (DBTablePartBase)
 

Private Attributes

tbb::spin_rw_mutex dbstate_mutex_
 
DBTableBaseparent_
 
int index_
 
ChangeList change_list_
 

Detailed Description

Definition at line 18 of file db_table_partition.h.

Member Typedef Documentation

typedef boost::intrusive::list<DBEntryBase, ChangeListMember> DBTablePartBase::ChangeList

Definition at line 25 of file db_table_partition.h.

typedef boost::intrusive::member_hook<DBEntryBase, boost::intrusive::list_member_hook<>, &DBEntryBase::chg_list_> DBTablePartBase::ChangeListMember

Definition at line 23 of file db_table_partition.h.

Constructor & Destructor Documentation

DBTablePartBase::DBTablePartBase ( DBTableBase tbl_base,
int  index 
)
inline

Definition at line 28 of file db_table_partition.h.

virtual DBTablePartBase::~DBTablePartBase ( )
inlinevirtual

Definition at line 57 of file db_table_partition.h.

Member Function Documentation

tbb::spin_rw_mutex& DBTablePartBase::dbstate_mutex ( )
inline

Definition at line 53 of file db_table_partition.h.

void DBTablePartBase::Delete ( DBEntryBase entry)

Definition at line 73 of file db_table_partition.cc.

Here is the call graph for this function:

DBTablePartBase::DISALLOW_COPY_AND_ASSIGN ( DBTablePartBase  )
private
virtual DBEntryBase* DBTablePartBase::GetFirst ( )
pure virtual

Implemented in DBTablePartition.

virtual DBEntryBase* DBTablePartBase::GetNext ( const DBEntryBase )
pure virtual

Implemented in DBTablePartition.

int DBTablePartBase::index ( ) const
inline

Definition at line 42 of file db_table_partition.h.

virtual DBEntryBase* DBTablePartBase::lower_bound ( const DBEntryBase key)
pure virtual

Implemented in DBTablePartition.

void DBTablePartBase::Notify ( DBEntryBase entry)

Definition at line 19 of file db_table_partition.cc.

Here is the call graph for this function:

DBTableBase* DBTablePartBase::parent ( )
inline

Definition at line 41 of file db_table_partition.h.

virtual void DBTablePartBase::Process ( DBClient client,
DBRequest req 
)
pure virtual

Implemented in DBTablePartition.

virtual void DBTablePartBase::Remove ( DBEntryBase )
pure virtual
bool DBTablePartBase::RunNotify ( )

Definition at line 42 of file db_table_partition.cc.

Here is the call graph for this function:

Member Data Documentation

ChangeList DBTablePartBase::change_list_
private

Definition at line 62 of file db_table_partition.h.

tbb::spin_rw_mutex DBTablePartBase::dbstate_mutex_
private

Definition at line 57 of file db_table_partition.h.

int DBTablePartBase::index_
private

Definition at line 61 of file db_table_partition.h.

const int DBTablePartBase::kMaxIterations = 256
static

Definition at line 20 of file db_table_partition.h.

DBTableBase* DBTablePartBase::parent_
private

Definition at line 60 of file db_table_partition.h.


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