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