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

#include <ovsdb_object.h>

Inheritance diagram for OVSDB::OvsdbDBObject:
Collaboration diagram for OVSDB::OvsdbDBObject:

Public Member Functions

 OvsdbDBObject (OvsdbClientIdl *idl, bool init_stale_entry_cleanup)
 
 OvsdbDBObject (OvsdbClientIdl *idl, DBTable *tbl, bool init_stale_entry_cleanup)
 
virtual ~OvsdbDBObject ()
 
virtual void OvsdbRegisterDBTable (DBTable *tbl)
 
void OvsdbStartResyncWalk ()
 
void NotifyAddOvsdb (OvsdbDBEntry *key, struct ovsdb_idl_row *row)
 
void NotifyDeleteOvsdb (OvsdbDBEntry *key, struct ovsdb_idl_row *row)
 
virtual OvsdbDBEntryAllocOvsEntry (struct ovsdb_idl_row *row)
 
bool DBWalkNotify (DBTablePartBase *partition, DBEntryBase *entry)
 
void DBWalkDone (DBTableBase *partition)
 
virtual Agentagent () const
 
void DeleteTable (void)
 
virtual void EmptyTable (void)
 
virtual DBFilterResp OvsdbDBEntryFilter (const DBEntry *entry, const OvsdbDBEntry *ovsdb_entry)
 
OvsdbClientIdlclient_idl ()
 
- Public Member Functions inherited from KSyncDBObject
 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)
 
DBTableBaseGetDBTable ()
 
DBTableBase::ListenerId GetListenerId (DBTableBase *table)
 
virtual KSyncEntryDBToKSyncEntry (const DBEntry *entry)=0
 
void set_test_id (DBTableBase::ListenerId id)
 
DBTableBase::ListenerId id () const
 
- Public Member Functions inherited from KSyncObject
 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)
 
KSyncEntryCreate (const KSyncEntry *key)
 
KSyncEntryCreate (const KSyncEntry *key, bool skip_lookup)
 
KSyncEntryCreateStale (const KSyncEntry *key)
 
void Change (KSyncEntry *entry)
 
void Delete (KSyncEntry *entry)
 
KSyncEntryFind (const KSyncEntry *key)
 
KSyncEntryNext (const KSyncEntry *entry) const
 
KSyncEntryGetReference (const KSyncEntry *key)
 
virtual KSyncEntryAlloc (const KSyncEntry *key, uint32_t index)=0
 
virtual void Free (KSyncEntry *entry)
 
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 ()
 

Static Public Attributes

static const uint32_t StaleEntryCleanupTimer = 300000
 
static const uint32_t StaleEntryYeildTimer = 100
 
static const uint16_t StaleEntryDeletePerIteration = 32
 

Protected Member Functions

DBFilterResp DBEntryFilter (const DBEntry *entry, const KSyncDBEntry *ksync)
 
virtual void DeleteTableDone (void)
 
- Protected Member Functions inherited from KSyncObject
KSyncEntryCreateImpl (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)
 

Protected Attributes

OvsdbClientIdlPtr client_idl_
 
- Protected Attributes inherited from KSyncObject
tbb::recursive_mutex lock_
 

Private Member Functions

 DISALLOW_COPY_AND_ASSIGN (OvsdbDBObject)
 

Private Attributes

DBTable::DBTableWalkRef walk_ref_
 
bool delete_triggered_
 

Friends

class OvsdbDBEntry
 

Additional Inherited Members

- Public Types inherited from KSyncDBObject
enum  DBFilterResp {
  DBFilterAccept, DBFilterIgnore, DBFilterDelete, DBFilterDelAdd,
  DBFilterMax
}
 
- Public Types inherited from KSyncObject
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
 
- Static Public Member Functions inherited from KSyncObject
static void Shutdown ()
 

Detailed Description

Definition at line 43 of file ovsdb_object.h.

Constructor & Destructor Documentation

OvsdbDBObject::OvsdbDBObject ( OvsdbClientIdl idl,
bool  init_stale_entry_cleanup 
)

Definition at line 44 of file ovsdb_object.cc.

Here is the call graph for this function:

OvsdbDBObject::OvsdbDBObject ( OvsdbClientIdl idl,
DBTable tbl,
bool  init_stale_entry_cleanup 
)

Definition at line 55 of file ovsdb_object.cc.

Here is the call graph for this function:

OvsdbDBObject::~OvsdbDBObject ( )
virtual

Definition at line 72 of file ovsdb_object.cc.

Member Function Documentation

Agent * OvsdbDBObject::agent ( ) const
virtual
virtual OvsdbDBEntry* OVSDB::OvsdbDBObject::AllocOvsEntry ( struct ovsdb_idl_row *  row)
inlinevirtual
OvsdbClientIdl* OVSDB::OvsdbDBObject::client_idl ( )
inline

Definition at line 76 of file ovsdb_object.h.

KSyncDBObject::DBFilterResp OvsdbDBObject::DBEntryFilter ( const DBEntry entry,
const KSyncDBEntry ksync 
)
protectedvirtual

Reimplemented from KSyncDBObject.

Definition at line 170 of file ovsdb_object.cc.

Here is the call graph for this function:

void OvsdbDBObject::DBWalkDone ( DBTableBase partition)

Definition at line 134 of file ovsdb_object.cc.

bool OvsdbDBObject::DBWalkNotify ( DBTablePartBase partition,
DBEntryBase entry 
)

Definition at line 129 of file ovsdb_object.cc.

Here is the call graph for this function:

void OvsdbDBObject::DeleteTable ( void  )

Definition at line 141 of file ovsdb_object.cc.

Here is the call graph for this function:

virtual void OVSDB::OvsdbDBObject::DeleteTableDone ( void  )
inlineprotectedvirtual

Reimplemented in OVSDB::HaStaleDevVnTable, and OVSDB::HaStaleVnTable.

Definition at line 81 of file ovsdb_object.h.

OVSDB::OvsdbDBObject::DISALLOW_COPY_AND_ASSIGN ( OvsdbDBObject  )
private
void OvsdbDBObject::EmptyTable ( void  )
virtual

Reimplemented from KSyncObject.

Reimplemented in OVSDB::HaStaleDevVnTable, OVSDB::UnicastMacRemoteTable, OVSDB::HaStaleL2RouteTable, and OVSDB::HaStaleVnTable.

Definition at line 155 of file ovsdb_object.cc.

Here is the call graph for this function:

void OvsdbDBObject::NotifyAddOvsdb ( OvsdbDBEntry key,
struct ovsdb_idl_row *  row 
)

Definition at line 92 of file ovsdb_object.cc.

Here is the call graph for this function:

void OvsdbDBObject::NotifyDeleteOvsdb ( OvsdbDBEntry key,
struct ovsdb_idl_row *  row 
)

Definition at line 114 of file ovsdb_object.cc.

Here is the call graph for this function:

void OvsdbDBObject::OvsdbRegisterDBTable ( DBTable tbl)
virtual

Reimplemented in OVSDB::UnicastMacRemoteTable.

Definition at line 76 of file ovsdb_object.cc.

Here is the call graph for this function:

void OvsdbDBObject::OvsdbStartResyncWalk ( )

Definition at line 88 of file ovsdb_object.cc.

Here is the call graph for this function:

Friends And Related Function Documentation

friend class OvsdbDBEntry
friend

Definition at line 86 of file ovsdb_object.h.

Member Data Documentation

OvsdbClientIdlPtr OVSDB::OvsdbDBObject::client_idl_
protected

Definition at line 83 of file ovsdb_object.h.

bool OVSDB::OvsdbDBObject::delete_triggered_
private

Definition at line 88 of file ovsdb_object.h.

const uint32_t OVSDB::OvsdbDBObject::StaleEntryCleanupTimer = 300000
static

Definition at line 45 of file ovsdb_object.h.

const uint16_t OVSDB::OvsdbDBObject::StaleEntryDeletePerIteration = 32
static

Definition at line 47 of file ovsdb_object.h.

const uint32_t OVSDB::OvsdbDBObject::StaleEntryYeildTimer = 100
static

Definition at line 46 of file ovsdb_object.h.

DBTable::DBTableWalkRef OVSDB::OvsdbDBObject::walk_ref_
private

Definition at line 87 of file ovsdb_object.h.


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