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

#include <ifmap_agent_table.h>

Inheritance diagram for IFMapAgentLinkTable:
Collaboration diagram for IFMapAgentLinkTable:

Classes

class  comp
 
struct  DeferredNode
 
struct  RequestKey
 

Public Types

typedef std::map
< IFMapTable::RequestKey,
std::list< DeferredNode >
*, comp
LinkDefMap
 
- Public Types inherited from DBTable
typedef boost::intrusive_ptr
< DBTableWalk
DBTableWalkRef
 
typedef boost::function< bool(DBTablePartBase
*, DBEntryBase *)> 
WalkFn
 
typedef boost::function< void(DBTableWalkRef,
DBTableBase *)> 
WalkCompleteFn
 
- Public Types inherited from DBTableBase
typedef boost::function< void(DBTablePartBase
*, DBEntryBase *)> 
ChangeCallback
 
typedef int ListenerId
 

Public Member Functions

 IFMapAgentLinkTable (DB *db, const std::string &name, DBGraph *graph)
 
virtual void Input (DBTablePartition *partition, DBClient *client, DBRequest *req)
 
void IFMapAgentLinkTable_Init (DB *db, DBGraph *graph)
 
void EvalDefLink (IFMapTable::RequestKey *key)
 
bool RemoveDefListEntry (LinkDefMap *map, LinkDefMap::iterator &map_it, std::list< DeferredNode >::iterator *list_it)
 
void DestroyDefLink (uint64_t)
 
const LinkDefMapGetLinkDefMap () const
 
void DelLink (IFMapNode *first, IFMapNode *second, DBGraphEdge *edge)
 
void LinkDefAdd (DBRequest *request)
 
- Public Member Functions inherited from IFMapLinkTable
 IFMapLinkTable (DB *db, const std::string &name, DBGraph *graph)
 
virtual int PartitionCount () const
 
std::string LinkKey (const std::string &metadata, IFMapNode *left, IFMapNode *right)
 
IFMapLinkAddLink (IFMapNode *left, IFMapNode *right, const std::string &metadata, uint64_t sequence_number, const IFMapOrigin &origin)
 
void DeleteLink (IFMapLink *link, const IFMapOrigin &origin)
 
void DeleteLink (IFMapLink *link)
 
virtual std::unique_ptr< DBEntryAllocEntry (const DBRequestKey *key) const
 
void Clear ()
 
IFMapLinkFindLink (const std::string &metadata, IFMapNode *left, IFMapNode *right)
 
IFMapLinkFindLink (const std::string &name)
 
IFMapLinkFindNextLink (const std::string &name)
 
- Public Member Functions inherited from DBGraphTable
 DBGraphTable (DB *db, const std::string &name, DBGraph *graph)
 
const DBGraphgraph () const
 
DBGraphgraph ()
 
- Public Member Functions inherited from DBTable
 DBTable (DB *db, const std::string &name)
 
virtual ~DBTable ()
 
void Init ()
 
virtual size_t Hash (const DBEntry *entry) const
 
virtual size_t Hash (const DBRequestKey *key) const
 
virtual DBTablePartitionAllocPartition (int index)
 
virtual DBEntryAdd (const DBRequest *req)
 
virtual bool OnChange (DBEntry *entry, const DBRequest *req)
 
virtual bool Delete (DBEntry *entry, const DBRequest *req)
 
void NotifyAllEntries ()
 
DBEntryFind (const DBEntry *entry)
 
const DBEntryFind (const DBEntry *entry) const
 
DBEntryFind (const DBRequestKey *key, int id=-1)
 
const DBEntryFind (const DBRequestKey *key, int id=-1) const
 
DBEntryFindNoLock (const DBEntry *entry)
 
DBEntryFindNoLock (const DBRequestKey *key)
 
virtual DBTablePartBaseGetTablePartition (const DBRequestKey *key)
 
virtual const DBTablePartBaseGetTablePartition (const DBRequestKey *key) const
 
virtual DBTablePartBaseGetTablePartition (const DBEntryBase *entry)
 
virtual const DBTablePartBaseGetTablePartition (const DBEntryBase *entry) const
 
virtual DBTablePartBaseGetTablePartition (const int index)
 
virtual const DBTablePartBaseGetTablePartition (const int index) const
 
virtual void Change (DBEntryBase *entry)
 
virtual size_t Size () const
 
DBTableWalkRef AllocWalker (WalkFn walk_fn, WalkCompleteFn walk_complete)
 
void ReleaseWalker (DBTableWalkRef &walk)
 
void WalkTable (DBTableWalkRef walk)
 
void WalkAgain (DBTableWalkRef walk)
 
void SetWalkIterationToYield (int count)
 
int GetWalkIterationToYield ()
 
void SetWalkTaskId (int task_id)
 
int GetWalkerTaskId ()
 
- Public Member Functions inherited from DBTableBase
 DBTableBase (DB *db, const std::string &name)
 
virtual ~DBTableBase ()
 
bool Enqueue (DBRequest *req)
 
void EnqueueRemove (DBEntryBase *db_entry)
 
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)
 
bool empty () const
 
virtual void RetryDelete ()
 
virtual bool MayDelete () const
 
DBdatabase ()
 
const DBdatabase () 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 Member Functions

static DBTableCreateTable (DB *db, const std::string &name, DBGraph *graph)
 
- Static Public Member Functions inherited from IFMapLinkTable
static DBTableCreateTable (DB *db, const std::string &name, DBGraph *graph)
 
- Static Public Member Functions inherited from DBTable
static void DBStateClear (DBTable *table, ListenerId id)
 

Private Member Functions

void AddLink (IFMapNode *left, IFMapNode *right, const std::string &metadata, uint64_t seq)
 
IFMapLinkFindLink (IFMapNode *left, IFMapNode *right, const std::string &metadata)
 

Private Attributes

LinkDefMap link_def_map_
 

Additional Inherited Members

- Static Public Attributes inherited from IFMapLinkTable
static const int kPartitionCount = 1
 
- Static Public Attributes inherited from DBTable
static const int kIterationToYield = 256
 
- Static Public Attributes inherited from DBTableBase
static const int kInvalidId = -1
 

Detailed Description

Definition at line 62 of file ifmap_agent_table.h.

Member Typedef Documentation

Definition at line 87 of file ifmap_agent_table.h.

Constructor & Destructor Documentation

IFMapAgentLinkTable::IFMapAgentLinkTable ( DB db,
const std::string &  name,
DBGraph graph 
)

Definition at line 385 of file ifmap_agent_table.cc.

Member Function Documentation

void IFMapAgentLinkTable::AddLink ( IFMapNode left,
IFMapNode right,
const std::string &  metadata,
uint64_t  seq 
)
private

Definition at line 365 of file ifmap_agent_table.cc.

Here is the call graph for this function:

DBTable * IFMapAgentLinkTable::CreateTable ( DB db,
const std::string &  name,
DBGraph graph 
)
static

Definition at line 389 of file ifmap_agent_table.cc.

Here is the call graph for this function:

void IFMapAgentLinkTable::DelLink ( IFMapNode first,
IFMapNode second,
DBGraphEdge edge 
)

Definition at line 378 of file ifmap_agent_table.cc.

Here is the call graph for this function:

void IFMapAgentLinkTable::DestroyDefLink ( uint64_t  seq)

Definition at line 580 of file ifmap_agent_table.cc.

Here is the call graph for this function:

void IFMapAgentLinkTable::EvalDefLink ( IFMapTable::RequestKey key)

Definition at line 509 of file ifmap_agent_table.cc.

Here is the call graph for this function:

IFMapLink * IFMapAgentLinkTable::FindLink ( IFMapNode left,
IFMapNode right,
const std::string &  metadata 
)
private

Definition at line 355 of file ifmap_agent_table.cc.

Here is the call graph for this function:

const LinkDefMap& IFMapAgentLinkTable::GetLinkDefMap ( ) const
inline

Definition at line 97 of file ifmap_agent_table.h.

void IFMapAgentLinkTable::IFMapAgentLinkTable_Init ( DB db,
DBGraph graph 
)
void IFMapAgentLinkTable::Input ( DBTablePartition partition,
DBClient client,
DBRequest req 
)
virtual

Reimplemented from IFMapLinkTable.

Definition at line 403 of file ifmap_agent_table.cc.

Here is the call graph for this function:

void IFMapAgentLinkTable::LinkDefAdd ( DBRequest request)

Definition at line 164 of file ifmap_agent_table.cc.

Here is the call graph for this function:

bool IFMapAgentLinkTable::RemoveDefListEntry ( LinkDefMap map,
LinkDefMap::iterator &  map_it,
std::list< DeferredNode >::iterator *  list_it 
)

Definition at line 487 of file ifmap_agent_table.cc.

Member Data Documentation

LinkDefMap IFMapAgentLinkTable::link_def_map_
private

Definition at line 108 of file ifmap_agent_table.h.


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