OpenSDN source code
|
#include <ksync_object.h>
Public Types | |
enum | DBFilterResp { DBFilterAccept, DBFilterIgnore, DBFilterDelete, DBFilterDelAdd, DBFilterMax } |
![]() | |
typedef boost::intrusive::member_hook < KSyncEntry, boost::intrusive::set_member_hook <>,&KSyncEntry::node_ > | KSyncObjectNode |
typedef boost::intrusive::set < KSyncEntry, KSyncObjectNode > | Tree |
typedef boost::intrusive::member_hook < KSyncFwdReference, boost::intrusive::set_member_hook <>,&KSyncFwdReference::node_ > | KSyncFwdRefNode |
typedef boost::intrusive::set < KSyncFwdReference, KSyncFwdRefNode > | FwdRefTree |
typedef boost::intrusive::member_hook < KSyncBackReference, boost::intrusive::set_member_hook <>,&KSyncBackReference::node_ > | KSyncBackRefNode |
typedef boost::intrusive::set < KSyncBackReference, KSyncBackRefNode > | BackRefTree |
Public Member Functions | |
KSyncDBObject (const std::string &name) | |
KSyncDBObject (const std::string &name, int max_index) | |
KSyncDBObject (const std::string &name, DBTableBase *table) | |
KSyncDBObject (const std::string &name, DBTableBase *table, int max_index) | |
virtual | ~KSyncDBObject () |
void | RegisterDb (DBTableBase *table) |
void | UnregisterDb (DBTableBase *table) |
void | Notify (DBTablePartBase *partition, DBEntryBase *entry) |
DBTableBase * | GetDBTable () |
DBTableBase::ListenerId | GetListenerId (DBTableBase *table) |
virtual DBFilterResp | DBEntryFilter (const DBEntry *entry, const KSyncDBEntry *ksync) |
virtual KSyncEntry * | DBToKSyncEntry (const DBEntry *entry)=0 |
void | set_test_id (DBTableBase::ListenerId id) |
DBTableBase::ListenerId | id () const |
![]() | |
KSyncObject (const std::string &name) | |
KSyncObject (const std::string &name, int max_index) | |
virtual | ~KSyncObject () |
void | InitStaleEntryCleanup (boost::asio::io_context &ios, uint32_t cleanup_time, uint32_t cleanup_intvl, uint16_t entries_per_intvl) |
void | NotifyEvent (KSyncEntry *entry, KSyncEntry::KSyncEvent event) |
void | SafeNotifyEvent (KSyncEntry *entry, KSyncEntry::KSyncEvent event) |
virtual void | NetlinkAck (KSyncEntry *entry, KSyncEntry::KSyncEvent event) |
void | BackRefAdd (KSyncEntry *key, KSyncEntry *reference) |
void | BackRefDel (KSyncEntry *key) |
void | BackRefReEval (KSyncEntry *key) |
KSyncEntry * | Create (const KSyncEntry *key) |
KSyncEntry * | Create (const KSyncEntry *key, bool skip_lookup) |
KSyncEntry * | CreateStale (const KSyncEntry *key) |
void | Change (KSyncEntry *entry) |
void | Delete (KSyncEntry *entry) |
KSyncEntry * | Find (const KSyncEntry *key) |
KSyncEntry * | Next (const KSyncEntry *entry) const |
KSyncEntry * | GetReference (const KSyncEntry *key) |
virtual KSyncEntry * | Alloc (const KSyncEntry *key, uint32_t index)=0 |
virtual void | Free (KSyncEntry *entry) |
virtual void | EmptyTable (void) |
bool | IsEmpty (void) |
virtual bool | DoEventTrace (void) |
virtual void | PreFree (KSyncEntry *entry) |
std::size_t | Size () |
void | set_delete_scheduled () |
bool | delete_scheduled () |
virtual SandeshTraceBufferPtr | GetKSyncTraceBuf () |
Private Member Functions | |
virtual void | CleanupOnDel (KSyncEntry *kentry) |
DISALLOW_COPY_AND_ASSIGN (KSyncDBObject) | |
Private Attributes | |
DBTableBase * | table_ |
DBTableBase::ListenerId | id_ |
DBTableBase::ListenerId | test_id_ |
KSyncIndexTable | index_table_ |
Additional Inherited Members | |
![]() | |
static void | Shutdown () |
![]() | |
KSyncEntry * | CreateImpl (const KSyncEntry *key) |
void | ClearStale (KSyncEntry *entry) |
void | ChangeKey (KSyncEntry *entry, uint32_t arg) |
virtual void | UpdateKey (KSyncEntry *entry, uint32_t arg) |
virtual uint32_t | GetKey (KSyncEntry *entry) |
![]() | |
tbb::recursive_mutex | lock_ |
Definition at line 208 of file ksync_object.h.
Enumerator | |
---|---|
DBFilterAccept | |
DBFilterIgnore | |
DBFilterDelete | |
DBFilterDelAdd | |
DBFilterMax |
Definition at line 215 of file ksync_object.h.
KSyncDBObject::KSyncDBObject | ( | const std::string & | name | ) |
Definition at line 281 of file ksync_object.cc.
KSyncDBObject::KSyncDBObject | ( | const std::string & | name, |
int | max_index | ||
) |
Definition at line 285 of file ksync_object.cc.
KSyncDBObject::KSyncDBObject | ( | const std::string & | name, |
DBTableBase * | table | ||
) |
KSyncDBObject::KSyncDBObject | ( | const std::string & | name, |
DBTableBase * | table, | ||
int | max_index | ||
) |
|
virtual |
|
privatevirtual |
Reimplemented from KSyncObject.
Definition at line 340 of file ksync_object.cc.
|
virtual |
Reimplemented in InterfaceKSyncObject, RouteKSyncObject, OVSDB::OvsdbDBObject, and ForwardingClassKSyncObject.
Definition at line 322 of file ksync_object.cc.
|
pure virtual |
Implemented in VrfKSyncObject, InterfaceKSyncObject, NHKSyncObject, RouteKSyncObject, KSyncVxlanRouteObject, MirrorKSyncObject, QosConfigKSyncObject, ForwardingClassKSyncObject, VrfAssignKSyncObject, VxLanKSyncObject, MplsKSyncObject, OVSDB::HaStaleDevVnTable, QosQueueKSyncObject, OVSDB::LogicalSwitchTable, KSyncLinuxFdbObject, OVSDB::UnicastMacRemoteTable, OVSDB::HaStaleL2RouteTable, KSyncVxlanPortObject, OVSDB::VrfOvsdbObject, KSyncVxlanBridgeObject, OVSDB::HaStaleVnTable, OVSDB::VlanPortBindingTable, OVSDB::VMInterfaceKSyncObject, OVSDB::VnOvsdbObject, KSyncLinuxBridgeObject, and KSyncLinuxPortObject.
|
private |
|
inline |
Definition at line 244 of file ksync_object.h.
DBTableBase::ListenerId KSyncDBObject::GetListenerId | ( | DBTableBase * | table | ) |
Definition at line 332 of file ksync_object.cc.
|
inline |
Definition at line 256 of file ksync_object.h.
void KSyncDBObject::Notify | ( | DBTablePartBase * | partition, |
DBEntryBase * | entry | ||
) |
void KSyncDBObject::RegisterDb | ( | DBTableBase * | table | ) |
void KSyncDBObject::set_test_id | ( | DBTableBase::ListenerId | id | ) |
void KSyncDBObject::UnregisterDb | ( | DBTableBase * | table | ) |
|
private |
Definition at line 263 of file ksync_object.h.
|
private |
Definition at line 266 of file ksync_object.h.
|
private |
Definition at line 262 of file ksync_object.h.
|
private |
Definition at line 264 of file ksync_object.h.