71 DBTable(db, name), ref_listener_id_(-1), agent_(NULL),
79 bool del_on_zero_refcount) :
80 DBTable(db, name), ref_listener_id_(-1) , agent_(NULL),
104 if (entry && (entry->
IsActive() ==
false)) {
112 if (entry && (entry->
IsActive() ==
false)) {
120 if (entry && (entry->
IsActive() ==
false)) {
128 if (entry && (entry->
IsActive() ==
false)) {
184 id = boost::uuids::nil_uuid();
198 if (entry && (entry->
IsActive() ==
false)) {
223 next = partition->
GetNext(entry);
224 if (entry->IsDeleted()) {
static void FlushWalkDone(DBTable::DBTableWalkRef walk_ref, DBTableBase *partition)
static bool FlushNotify(DBTablePartBase *partition, DBEntryBase *e)
virtual void FreeResources(ResourceManager *resource_manager)
void ClearRefState() const
virtual void AllocateResources(ResourceManager *resource_manager)
DBState * GetAgentDBEntryState(int listener_id)
virtual uint32_t GetRefCount() const =0
virtual void Add(DBEntry *entry)
virtual void Remove(DBEntryBase *entry)
virtual void Input(DBTablePartition *root, DBClient *client, DBRequest *req)
AgentDBEntry * FindActiveEntry(const DBEntry *key)
AgentDBEntry * FindActiveEntryNoLock(const DBEntry *key)
virtual bool Resync(DBEntry *entry, const DBRequest *req)
void Notify(DBTablePartBase *partition, DBEntryBase *entry)
DBTable::DBTableWalkRef flush_walk_ref_
AgentDBTable(DB *db, const std::string &name)
AgentDBEntry * Find(const DBEntry *key, bool ret_del)
DBTableBase::ListenerId GetRefListenerId() const
virtual void Process(DBRequest &req)
DBTableBase::ListenerId ref_listener_id_
virtual void OnZeroRefcount(AgentDBEntry *e)
virtual void NotifyEntry(DBEntryBase *entry)
void reset_flush_walk_ref()
virtual bool IFNodeToUuid(IFMapNode *node, boost::uuids::uuid &id)
ResourceManager * resource_manager() const
DBState * GetState(DBTableBase *tbl_base, ListenerId listener) const
DBTableBase * get_table() const
void ClearState(DBTableBase *tbl_base, ListenerId listener)
virtual KeyPtr GetDBRequestKey() const =0
void set_table_partition(DBTablePartBase *tpart)
void SetState(DBTableBase *tbl_base, ListenerId listener, DBState *state)
ListenerId Register(ChangeCallback callback, const std::string &name="unspecified")
bool HasListeners() const
void Unregister(ListenerId listener)
void Notify(DBEntryBase *entry)
void Delete(DBEntryBase *)
virtual void Change(DBEntry *entry)
void Process(DBClient *client, DBRequest *req)
virtual void Add(DBEntry *entry)
virtual DBEntry * GetNext(const DBEntryBase *entry)
DBEntry * Find(const DBEntry *entry)
virtual void Remove(DBEntryBase *entry)
virtual DBEntry * GetFirst()
void WalkAgain(DBTableWalkRef walk)
virtual void Input(DBTablePartition *tbl_partition, DBClient *client, DBRequest *req)
DBTableWalkRef AllocWalker(WalkFn walk_fn, WalkCompleteFn walk_complete)
DBEntry * Find(const DBEntry *entry)
void ReleaseWalker(DBTableWalkRef &walk)
virtual DBTablePartBase * GetTablePartition(const DBRequestKey *key)
DBEntry * FindNoLock(const DBEntry *entry)
boost::intrusive_ptr< DBTableWalk > DBTableWalkRef
SandeshTraceBufferPtr SandeshTraceBufferCreate(const std::string &buf_name, size_t buf_size, bool trace_enable=true)
std::unique_ptr< DBRequestKey > key