5 #ifndef config_db_client_h
6 #define config_db_client_h
10 #include <tbb/spin_rw_mutex.h>
18 struct ConfigDBConnInfo;
19 struct ConfigDBUUIDCacheEntry;
20 struct ConfigDBFQNameCacheEntry;
26 std::string value) :
oper_(oper),
67 std::string oper) = 0;
70 const std::string &search_string,
int inst_num,
71 const std::string &last_uuid, uint32_t num_entries,
72 std::vector<ConfigDBUUIDCacheEntry> *entries)
const = 0;
75 const std::string &lookup_key) = 0;
79 const std::string &obj_type,
const std::string &fq_name);
87 bool deleted_ok =
true)
const;
90 const std::string &search_string,
const std::string &last_uuid,
92 std::vector<ConfigDBFQNameCacheEntry> *entries)
const;
95 virtual std::string
GetUUID(
const std::string &key)
const {
123 const std::string &
uuid,
124 FQNameCacheMap::const_iterator it,
125 ConfigDBFQNameCacheEntry *entry)
const;
184 #endif // config_db_client_h
static const int kMaxRequestsToYield
ConfigClientManager * mgr_
ObjectCacheEntry(uint64_t last_read_tstamp)
virtual void InvalidateFQNameCache(const std::string &uuid)
virtual void GetConnectionInfo(ConfigDBConnInfo &status) const
virtual ~ConfigDbClient()
ConfigClientManager * mgr()
EventManager * event_manager()
std::vector< int > config_db_ports_
const std::string & config_db_user() const
ConfigDbClient(ConfigClientManager *mgr, EventManager *evm, const ConfigClientOptions &options)
virtual void SetObjType(std::string obj_type)
virtual const int GetMaxRequestsToYield() const
virtual void StartWatcher()
const ConfigClientManager * mgr() const
virtual const uint64_t GetInitRetryTimeUSec() const
ObjTypeFQNPair UUIDToFQName(const std::string &uuid_str, bool deleted_ok=true) const
static const int kNumEntriesToRead
virtual void SetFQName(std::string fq_name)
FQNameCacheMap fq_name_cache_
virtual bool IsListOrMapPropEmpty(const std::string &uuid_key, const std::string &lookup_key)=0
virtual std::string GetUUID(const std::string &key) const
virtual void InitConnectionInfo()
virtual void UpdateConnectionInfo(bool success, bool force)
virtual void ClearFQNameCache()
std::map< std::string, FQNameCacheType > FQNameCacheMap
std::pair< std::string, std::string > ObjTypeFQNPair
virtual bool UUIDToFQNameShow(const std::string &search_string, const std::string &last_uuid, uint32_t num_entries, std::vector< ConfigDBFQNameCacheEntry > *entries) const
virtual std::string uuid_str(const std::string &uuid)
virtual const std::string & GetFQName() const
virtual uint64_t GetLastReadTimeStamp() const
ObjectProcessReq(std::string oper, std::string uuid_str, std::string value)
virtual void SetLastReadTimeStamp(uint64_t ts)
virtual void PurgeFQNameCache(const std::string &uuid)
std::string config_db_user_
virtual void FillFQNameCacheInfo(const std::string &uuid, FQNameCacheMap::const_iterator it, ConfigDBFQNameCacheEntry *entry) const
virtual void InitDatabase()=0
std::string config_db_password_
virtual const std::string & GetObjType() const
virtual bool IsTaskTriggered() const
const std::string & config_db_password() const
DISALLOW_COPY_AND_ASSIGN(ObjectProcessReq)
virtual void AddFQNameCache(const std::string &uuid, const std::string &obj_type, const std::string &fq_name)
const std::vector< std::string > & config_db_ips() const
tbb::atomic< uint64_t > connection_status_change_at_
static const uint64_t kInitRetryTimeUSec
FQNameCacheType(std::string in_obj_type, std::string in_fq_name)
virtual std::string FindFQName(const std::string &uuid) const
std::vector< std::string > config_db_ips_
int GetFirstConfigDbPort() const
virtual uint32_t GetNumReadRequestToBunch() const
virtual void PostShutdown()=0
virtual bool UUIDToObjCacheShow(const std::string &search_string, int inst_num, const std::string &last_uuid, uint32_t num_entries, std::vector< ConfigDBUUIDCacheEntry > *entries) const =0
tbb::atomic< bool > client_connection_up_
virtual void EnqueueUUIDRequest(std::string uuid_str, std::string obj_type, std::string oper)=0
uint64_t last_read_tstamp_
tbb::spin_rw_mutex rw_mutex_