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

#include <db_table_partition.h>

Inheritance diagram for DBTablePartition:
Collaboration diagram for DBTablePartition:

Public Types

typedef
boost::intrusive::member_hook
< DBEntry,
boost::intrusive::set_member_hook
<>,&DBEntry::node_
SetMember
 
typedef boost::intrusive::set
< DBEntry, SetMember
Tree
 
- Public Types inherited from DBTablePartBase
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

 DBTablePartition (DBTable *parent, int index)
 
void Process (DBClient *client, DBRequest *req)
 
virtual DBEntrylower_bound (const DBEntryBase *entry)
 
virtual DBEntryGetNext (const DBEntryBase *entry)
 
virtual DBEntryGetFirst ()
 
virtual void Add (DBEntry *entry)
 
virtual void Change (DBEntry *entry)
 
virtual void Remove (DBEntryBase *entry)
 
DBEntryFind (const DBEntry *entry)
 
const DBEntryFind (const DBEntry *entry) const
 
DBEntryFindNoLock (const DBEntry *entry)
 
DBEntryFind (const DBRequestKey *key)
 
DBEntryFindNoLock (const DBRequestKey *key)
 
DBEntryFindNext (const DBRequestKey *key)
 
DBTabletable ()
 
size_t size () const
 
void AddWithoutAlloc (DBEntry *entry)
 
void RemoveWithoutDelete (DBEntry *entry)
 
- Public Member Functions inherited from DBTablePartBase
 DBTablePartBase (DBTableBase *tbl_base, int index)
 
void Notify (DBEntryBase *entry)
 
bool RunNotify ()
 
DBTableBaseparent ()
 
int index () const
 
void Delete (DBEntryBase *)
 
tbb::spin_rw_mutex & dbstate_mutex ()
 
virtual ~DBTablePartBase ()
 

Private Member Functions

DBEntryFindInternal (const DBEntry *entry)
 
const DBEntryFindInternal (const DBEntry *entry) const
 
 DISALLOW_COPY_AND_ASSIGN (DBTablePartition)
 

Private Attributes

tbb::mutex mutex_
 
Tree tree_
 

Additional Inherited Members

- Static Public Attributes inherited from DBTablePartBase
static const int kMaxIterations = 256
 

Detailed Description

Definition at line 66 of file db_table_partition.h.

Member Typedef Documentation

typedef boost::intrusive::member_hook<DBEntry, boost::intrusive::set_member_hook<>, &DBEntry::node_> DBTablePartition::SetMember

Definition at line 70 of file db_table_partition.h.

typedef boost::intrusive::set<DBEntry, SetMember> DBTablePartition::Tree

Definition at line 71 of file db_table_partition.h.

Constructor & Destructor Documentation

DBTablePartition::DBTablePartition ( DBTable parent,
int  index 
)

Definition at line 86 of file db_table_partition.cc.

Member Function Documentation

void DBTablePartition::Add ( DBEntry entry)
virtual

Reimplemented in AgentDBTablePartition.

Definition at line 96 of file db_table_partition.cc.

Here is the call graph for this function:

void DBTablePartition::AddWithoutAlloc ( DBEntry entry)

Definition at line 129 of file db_table_partition.cc.

Here is the call graph for this function:

void DBTablePartition::Change ( DBEntry entry)
virtual

Definition at line 105 of file db_table_partition.cc.

Here is the call graph for this function:

DBTablePartition::DISALLOW_COPY_AND_ASSIGN ( DBTablePartition  )
private
DBEntry * DBTablePartition::Find ( const DBEntry entry)

Definition at line 168 of file db_table_partition.cc.

Here is the call graph for this function:

const DBEntry * DBTablePartition::Find ( const DBEntry entry) const

Definition at line 173 of file db_table_partition.cc.

Here is the call graph for this function:

DBEntry * DBTablePartition::Find ( const DBRequestKey key)

Definition at line 186 of file db_table_partition.cc.

Here is the call graph for this function:

DBEntry * DBTablePartition::FindInternal ( const DBEntry entry)
private

Definition at line 146 of file db_table_partition.cc.

const DBEntry * DBTablePartition::FindInternal ( const DBEntry entry) const
private

Definition at line 154 of file db_table_partition.cc.

DBEntry * DBTablePartition::FindNext ( const DBRequestKey key)

Definition at line 193 of file db_table_partition.cc.

Here is the call graph for this function:

DBEntry * DBTablePartition::FindNoLock ( const DBEntry entry)

Definition at line 162 of file db_table_partition.cc.

Here is the call graph for this function:

DBEntry * DBTablePartition::FindNoLock ( const DBRequestKey key)

Definition at line 178 of file db_table_partition.cc.

Here is the call graph for this function:

DBEntry * DBTablePartition::GetFirst ( )
virtual

Implements DBTablePartBase.

Definition at line 217 of file db_table_partition.cc.

DBEntry * DBTablePartition::GetNext ( const DBEntryBase entry)
virtual

Implements DBTablePartBase.

Definition at line 227 of file db_table_partition.cc.

DBEntry * DBTablePartition::lower_bound ( const DBEntryBase entry)
virtual

Implements DBTablePartBase.

Definition at line 206 of file db_table_partition.cc.

void DBTablePartition::Process ( DBClient client,
DBRequest req 
)
virtual

Implements DBTablePartBase.

Definition at line 90 of file db_table_partition.cc.

Here is the call graph for this function:

void DBTablePartition::Remove ( DBEntryBase entry)
virtual

Implements DBTablePartBase.

Reimplemented in AgentDBTablePartition.

Definition at line 110 of file db_table_partition.cc.

Here is the call graph for this function:

void DBTablePartition::RemoveWithoutDelete ( DBEntry entry)

Definition at line 137 of file db_table_partition.cc.

Here is the call graph for this function:

size_t DBTablePartition::size ( ) const
inline

Definition at line 114 of file db_table_partition.h.

DBTable * DBTablePartition::table ( )

Definition at line 239 of file db_table_partition.cc.

Here is the call graph for this function:

Member Data Documentation

tbb::mutex DBTablePartition::mutex_
mutableprivate

Definition at line 126 of file db_table_partition.h.

Tree DBTablePartition::tree_
private

Definition at line 127 of file db_table_partition.h.


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