OpenSDN source code
|
#include <db_table.h>
Classes | |
class | ListenerInfo |
Public Types | |
typedef boost::function< void(DBTablePartBase *, DBEntryBase *)> | ChangeCallback |
typedef int | ListenerId |
Public Member Functions | |
DBTableBase (DB *db, const std::string &name) | |
virtual | ~DBTableBase () |
bool | Enqueue (DBRequest *req) |
void | EnqueueRemove (DBEntryBase *db_entry) |
virtual DBTablePartBase * | GetTablePartition (const DBRequestKey *key)=0 |
virtual DBTablePartBase * | GetTablePartition (const DBEntryBase *entry)=0 |
virtual DBTablePartBase * | GetTablePartition (const int index)=0 |
virtual void | Change (DBEntryBase *)=0 |
virtual void | AddRemoveCallback (const DBEntryBase *entry, bool add) const |
ListenerId | Register (ChangeCallback callback, const std::string &name="unspecified") |
void | Unregister (ListenerId listener) |
void | RunNotify (DBTablePartBase *tpart, DBEntryBase *entry) |
void | AddToDBStateCount (ListenerId listener, int count) |
uint64_t | GetDBStateCount (ListenerId listener) |
virtual size_t | Size () const |
bool | empty () const |
virtual void | RetryDelete () |
virtual bool | MayDelete () const |
DB * | database () |
const DB * | database () const |
const std::string & | name () const |
bool | HasListeners () const |
size_t | GetListenerCount () const |
void | FillListeners (std::vector< ShowTableListener > *listeners) const |
uint64_t | enqueue_count () const |
void | incr_enqueue_count () |
void | reset_enqueue_count () |
uint64_t | input_count () const |
void | incr_input_count () |
void | reset_input_count () |
uint64_t | notify_count () const |
void | incr_notify_count () |
void | reset_notify_count () |
bool | HasWalkers () const |
uint64_t | walker_count () const |
void | incr_walker_count () |
uint64_t | decr_walker_count () |
uint64_t | walk_request_count () const |
uint64_t | walk_complete_count () const |
uint64_t | walk_cancel_count () const |
uint64_t | walk_again_count () const |
uint64_t | walk_count () const |
void | incr_walk_request_count () |
void | incr_walk_complete_count () |
void | incr_walk_cancel_count () |
void | incr_walk_again_count () |
void | incr_walk_count () |
Static Public Attributes | |
static const int | kInvalidId = -1 |
Private Attributes | |
DB * | db_ |
std::string | name_ |
std::unique_ptr< ListenerInfo > | info_ |
uint64_t | enqueue_count_ |
uint64_t | input_count_ |
uint64_t | notify_count_ |
tbb::atomic< uint64_t > | walker_count_ |
tbb::atomic< uint64_t > | walk_count_ |
tbb::atomic< uint64_t > | walk_request_count_ |
tbb::atomic< uint64_t > | walk_complete_count_ |
tbb::atomic< uint64_t > | walk_cancel_count_ |
tbb::atomic< uint64_t > | walk_again_count_ |
Definition at line 59 of file db_table.h.
typedef boost::function<void(DBTablePartBase *, DBEntryBase *)> DBTableBase::ChangeCallback |
Definition at line 61 of file db_table.h.
typedef int DBTableBase::ListenerId |
Definition at line 62 of file db_table.h.
DBTableBase::DBTableBase | ( | DB * | db, |
const std::string & | name | ||
) |
Definition at line 167 of file db_table.cc.
|
virtual |
Definition at line 178 of file db_table.cc.
|
inlinevirtual |
Reimplemented in RTargetTable, and EvpnTable.
Definition at line 84 of file db_table.h.
void DBTableBase::AddToDBStateCount | ( | ListenerId | listener, |
int | count | ||
) |
Definition at line 212 of file db_table.cc.
|
pure virtual |
Implemented in DBTable.
|
inline |
Definition at line 107 of file db_table.h.
|
inline |
Definition at line 108 of file db_table.h.
|
inline |
Definition at line 131 of file db_table.h.
|
inline |
bool DBTableBase::Enqueue | ( | DBRequest * | req | ) |
|
inline |
Definition at line 116 of file db_table.h.
void DBTableBase::EnqueueRemove | ( | DBEntryBase * | db_entry | ) |
void DBTableBase::FillListeners | ( | std::vector< ShowTableListener > * | listeners | ) | const |
Definition at line 242 of file db_table.cc.
uint64_t DBTableBase::GetDBStateCount | ( | ListenerId | listener | ) |
Definition at line 216 of file db_table.cc.
size_t DBTableBase::GetListenerCount | ( | ) | const |
Definition at line 238 of file db_table.cc.
|
pure virtual |
Implemented in DBTable.
|
pure virtual |
Implemented in DBTable.
|
pure virtual |
Implemented in DBTable.
bool DBTableBase::HasListeners | ( | ) | const |
Definition at line 234 of file db_table.cc.
|
inline |
Definition at line 128 of file db_table.h.
|
inline |
Definition at line 117 of file db_table.h.
|
inline |
Definition at line 121 of file db_table.h.
|
inline |
Definition at line 125 of file db_table.h.
|
inline |
Definition at line 141 of file db_table.h.
|
inline |
Definition at line 140 of file db_table.h.
|
inline |
Definition at line 139 of file db_table.h.
|
inline |
Definition at line 142 of file db_table.h.
|
inline |
Definition at line 138 of file db_table.h.
|
inline |
Definition at line 130 of file db_table.h.
|
inline |
Definition at line 120 of file db_table.h.
|
virtual |
Reimplemented in BgpTable.
Definition at line 220 of file db_table.cc.
|
inline |
Definition at line 110 of file db_table.h.
|
inline |
Definition at line 124 of file db_table.h.
DBTableBase::ListenerId DBTableBase::Register | ( | ChangeCallback | callback, |
const std::string & | name = "unspecified" |
||
) |
Definition at line 181 of file db_table.cc.
|
inline |
Definition at line 118 of file db_table.h.
|
inline |
Definition at line 122 of file db_table.h.
|
inline |
Definition at line 126 of file db_table.h.
|
inlinevirtual |
Reimplemented in AgentRouteTable, and BgpTable.
Definition at line 104 of file db_table.h.
void DBTableBase::RunNotify | ( | DBTablePartBase * | tpart, |
DBEntryBase * | entry | ||
) |
Definition at line 207 of file db_table.cc.
|
inlinevirtual |
Reimplemented in DBTable.
Definition at line 100 of file db_table.h.
void DBTableBase::Unregister | ( | ListenerId | listener | ) |
|
inline |
Definition at line 136 of file db_table.h.
|
inline |
Definition at line 135 of file db_table.h.
|
inline |
Definition at line 134 of file db_table.h.
|
inline |
Definition at line 137 of file db_table.h.
|
inline |
Definition at line 133 of file db_table.h.
|
inline |
Definition at line 129 of file db_table.h.
|
private |
Definition at line 145 of file db_table.h.
|
private |
Definition at line 149 of file db_table.h.
|
private |
Definition at line 148 of file db_table.h.
|
private |
Definition at line 150 of file db_table.h.
|
static |
Definition at line 64 of file db_table.h.
|
private |
Definition at line 147 of file db_table.h.
|
private |
Definition at line 151 of file db_table.h.
|
private |
Definition at line 157 of file db_table.h.
|
private |
Definition at line 156 of file db_table.h.
|
private |
Definition at line 155 of file db_table.h.
|
private |
Definition at line 153 of file db_table.h.
|
private |
Definition at line 154 of file db_table.h.
|
private |
Definition at line 152 of file db_table.h.