25 tbb::spin_rw_mutex::scoped_lock lock(tpart->
dbstate_mutex(),
true);
26 pair<StateMap::iterator, bool> res =
state_.insert(
27 make_pair(listener, state));
29 res.first->second = state;
39 tbb::spin_rw_mutex::scoped_lock lock(tpart->
dbstate_mutex(),
false);
40 StateMap::const_iterator loc =
state_.find(listener);
51 tbb::spin_rw_mutex::scoped_lock lock(tpart->
dbstate_mutex(),
false);
52 StateMap::const_iterator loc =
state_.find(listener);
75 tbb::spin_rw_mutex::scoped_lock lock(tpart->
dbstate_mutex(),
true);
77 assert(
state_.erase(listener) != 0);
88 tbb::spin_rw_mutex::scoped_lock lock(tpart->
dbstate_mutex(),
false);
tbb::spin_rw_mutex & dbstate_mutex()
void set_last_update_at(uint64_t time)
void set_last_update_at_to_now()
DBState * GetState(DBTableBase *tbl_base, ListenerId listener) const
DBTableBase * get_table() const
void AddToDBStateCount(ListenerId listener, int count)
void set_last_change_at_to_now()
void SetState(DBTableBase *tbl_base, ListenerId listener, DBState *state)
const std::string last_change_at_str() const
void Delete(DBEntryBase *)
tbb::atomic< bool > onremoveq_
static const std::string duration_usecs_to_string(const uint64_t usecs)
void set_table_partition(DBTablePartBase *tpart)
bool is_state_empty(DBTablePartBase *tpart)
void EnqueueRemove(DBEntryBase *db_entry)
void ClearState(DBTableBase *tbl_base, ListenerId listener)
bool is_state_empty_unlocked(DBTablePartBase *tpart)
static uint64_t UTCTimestampUsec()
void set_last_change_at(uint64_t time)
DBTablePartBase * get_table_partition() const
void Notify(DBEntryBase *entry)
DBTableBase::ListenerId ListenerId
virtual DBTablePartBase * GetTablePartition(const DBRequestKey *key)=0