OpenSDN source code
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, ChangeListMemberChangeList
 

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

◆ ChangeList

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

Definition at line 25 of file db_table_partition.h.

◆ ChangeListMember

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::DBTablePartBase ( DBTableBase tbl_base,
int  index 
)
inline

Definition at line 28 of file db_table_partition.h.

◆ ~DBTablePartBase()

virtual DBTablePartBase::~DBTablePartBase ( )
inlinevirtual

Definition at line 57 of file db_table_partition.h.

Member Function Documentation

◆ dbstate_mutex()

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

Definition at line 53 of file db_table_partition.h.

◆ Delete()

void DBTablePartBase::Delete ( DBEntryBase entry)

Definition at line 73 of file db_table_partition.cc.

Here is the call graph for this function:

◆ DISALLOW_COPY_AND_ASSIGN()

DBTablePartBase::DISALLOW_COPY_AND_ASSIGN ( DBTablePartBase  )
private

◆ GetFirst()

virtual DBEntryBase* DBTablePartBase::GetFirst ( )
pure virtual

Implemented in DBTablePartition.

◆ GetNext()

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

Implemented in DBTablePartition.

◆ index()

int DBTablePartBase::index ( ) const
inline

Definition at line 42 of file db_table_partition.h.

◆ lower_bound()

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

Implemented in DBTablePartition.

◆ Notify()

void DBTablePartBase::Notify ( DBEntryBase entry)

Definition at line 19 of file db_table_partition.cc.

Here is the call graph for this function:

◆ parent()

DBTableBase* DBTablePartBase::parent ( )
inline

Definition at line 41 of file db_table_partition.h.

◆ Process()

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

Implemented in DBTablePartition.

◆ Remove()

virtual void DBTablePartBase::Remove ( DBEntryBase )
pure virtual

◆ RunNotify()

bool DBTablePartBase::RunNotify ( )

Definition at line 42 of file db_table_partition.cc.

Here is the call graph for this function:

Member Data Documentation

◆ change_list_

ChangeList DBTablePartBase::change_list_
private

Definition at line 62 of file db_table_partition.h.

◆ dbstate_mutex_

tbb::spin_rw_mutex DBTablePartBase::dbstate_mutex_
private

Definition at line 59 of file db_table_partition.h.

◆ index_

int DBTablePartBase::index_
private

Definition at line 61 of file db_table_partition.h.

◆ kMaxIterations

const int DBTablePartBase::kMaxIterations = 256
static

Definition at line 20 of file db_table_partition.h.

◆ parent_

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: