7 #include <boost/bind.hpp>
14 #include "ifmap/ifmap_log_types.h"
48 const string &metadata, uint64_t sequence_number,
53 string link_name =
LinkKey(metadata, left, right);
65 link->
SetProperties(left, right, metadata, sequence_number, origin);
66 assert(dynamic_cast<IFMapNode *>(left));
67 assert(dynamic_cast<IFMapNode *>(right));
72 string link_name =
LinkKey(metadata, left, right);
124 *next = NULL; link != NULL; link = next) {
126 if (link->IsDeleted()) {
const DBGraph * graph() const
std::string LinkKey(const std::string &metadata, IFMapNode *left, IFMapNode *right)
virtual std::string ToString() const
void set_last_change_at_to_now()
DBEntry * Find(const DBEntry *entry)
void Unlink(DBGraphEdge *link)
virtual DBEntry * GetNext(const DBEntryBase *entry)
virtual std::unique_ptr< DBEntry > AllocEntry(const DBRequestKey *key) const
void SetProperties(IFMapNode *left, IFMapNode *right, const std::string &metadata, uint64_t sequence_number, const IFMapOrigin &origin)
void DeleteLink(IFMapLink *link, const IFMapOrigin &origin)
void Delete(DBEntryBase *)
IFMapLink * FindLink(const std::string &metadata, IFMapNode *left, IFMapNode *right)
virtual void Change(DBEntry *entry)
virtual void Input(DBTablePartition *partition, DBClient *client, DBRequest *req)
IFMapLink * AddLink(IFMapNode *left, IFMapNode *right, const std::string &metadata, uint64_t sequence_number, const IFMapOrigin &origin)
DBEntry * FindNext(const DBRequestKey *key)
IFMapLinkTable(DB *db, const std::string &name, DBGraph *graph)
static DBTable * CreateTable(DB *db, const std::string &name, DBGraph *graph)
void RemoveOriginInfo(IFMapOrigin::Origin in_origin)
const std::string & name() const
void IFMapLinkTable_Init(DB *db, DBGraph *graph)
virtual DBTablePartBase * GetTablePartition(const DBRequestKey *key)
void IFMapLinkTable_Clear(DB *db)
bool HasListeners() const
void AddTable(DBTableBase *tbl_base)
virtual DBEntry * GetFirst()
virtual void Add(DBEntry *entry)
IFMapLink * FindNextLink(const std::string &name)
DBTableBase * FindTable(const std::string &name)
void SetLinkRevival(bool lr)