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

#include <mirror_ksync.h>

Inheritance diagram for MirrorKSyncObject:
Collaboration diagram for MirrorKSyncObject:

Public Member Functions

 MirrorKSyncObject (KSync *ksync)
 
virtual ~MirrorKSyncObject ()
 
KSyncksync () const
 
void RegisterDBClients ()
 
virtual KSyncEntryAlloc (const KSyncEntry *entry, uint32_t index)
 
virtual KSyncEntryDBToKSyncEntry (const DBEntry *e)
 
uint32_t GetIdx (std::string analyzer_name)
 
- 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 DBFilterResp DBEntryFilter (const DBEntry *entry, const KSyncDBEntry *ksync)
 
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 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 ()
 

Static Public Attributes

static const int kMirrorIndexCount = 1000
 

Private Member Functions

 DISALLOW_COPY_AND_ASSIGN (MirrorKSyncObject)
 

Private Attributes

KSyncksync_
 

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 ()
 
- 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 inherited from KSyncObject
tbb::recursive_mutex lock_
 

Detailed Description

Definition at line 59 of file mirror_ksync.h.

Constructor & Destructor Documentation

MirrorKSyncObject::MirrorKSyncObject ( KSync ksync)

Definition at line 179 of file mirror_ksync.cc.

MirrorKSyncObject::~MirrorKSyncObject ( )
virtual

Definition at line 183 of file mirror_ksync.cc.

Member Function Documentation

KSyncEntry * MirrorKSyncObject::Alloc ( const KSyncEntry entry,
uint32_t  index 
)
virtual

Implements KSyncObject.

Definition at line 190 of file mirror_ksync.cc.

Here is the call graph for this function:

KSyncEntry * MirrorKSyncObject::DBToKSyncEntry ( const DBEntry e)
virtual

Implements KSyncDBObject.

Definition at line 197 of file mirror_ksync.cc.

Here is the call graph for this function:

MirrorKSyncObject::DISALLOW_COPY_AND_ASSIGN ( MirrorKSyncObject  )
private
uint32_t MirrorKSyncObject::GetIdx ( std::string  analyzer_name)

Definition at line 203 of file mirror_ksync.cc.

Here is the call graph for this function:

KSync* MirrorKSyncObject::ksync ( ) const
inline

Definition at line 65 of file mirror_ksync.h.

void MirrorKSyncObject::RegisterDBClients ( )

Definition at line 186 of file mirror_ksync.cc.

Here is the call graph for this function:

Member Data Documentation

const int MirrorKSyncObject::kMirrorIndexCount = 1000
static

Definition at line 61 of file mirror_ksync.h.

KSync* MirrorKSyncObject::ksync_
private

Definition at line 72 of file mirror_ksync.h.


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