OpenSDN source code
ConfigDbClient Class Referenceabstract

#include <config_db_client.h>

Inheritance diagram for ConfigDbClient:
Collaboration diagram for ConfigDbClient:

Classes

struct  FQNameCacheType
 

Public Types

typedef std::pair< std::string, std::string > ObjTypeFQNPair
 

Public Member Functions

 ConfigDbClient (ConfigClientManager *mgr, EventManager *evm, const ConfigClientOptions &options)
 
virtual ~ConfigDbClient ()
 
const std::string & config_db_user () const
 
const std::string & config_db_password () const
 
const std::vector< std::string > & config_db_ips () const
 
int GetFirstConfigDbPort () const
 
virtual void PostShutdown ()=0
 
virtual void InitDatabase ()=0
 
virtual void EnqueueUUIDRequest (std::string uuid_str, std::string obj_type, std::string oper)=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
 
virtual bool IsListOrMapPropEmpty (const std::string &uuid_key, const std::string &lookup_key)=0
 
virtual void AddFQNameCache (const std::string &uuid, const std::string &obj_type, const std::string &fq_name)
 
virtual std::string FindFQName (const std::string &uuid) const
 
virtual void InvalidateFQNameCache (const std::string &uuid)
 
virtual void PurgeFQNameCache (const std::string &uuid)
 
virtual void ClearFQNameCache ()
 
ObjTypeFQNPair UUIDToFQName (const std::string &uuid_str, bool deleted_ok=true) const
 
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 std::string GetUUID (const std::string &key) const
 
virtual void InitConnectionInfo ()
 
virtual void UpdateConnectionInfo (bool success, bool force)
 
virtual void GetConnectionInfo (ConfigDBConnInfo &status) const
 
virtual bool IsTaskTriggered () const
 
virtual void StartWatcher ()
 
ConfigClientManagermgr ()
 
const ConfigClientManagermgr () const
 

Static Public Attributes

static const uint64_t kInitRetryTimeUSec = 5000000
 
static const int kMaxRequestsToYield = 512
 
static const int kNumEntriesToRead = 4096
 

Protected Types

typedef std::map< std::string, FQNameCacheTypeFQNameCacheMap
 

Protected Member Functions

virtual void FillFQNameCacheInfo (const std::string &uuid, FQNameCacheMap::const_iterator it, ConfigDBFQNameCacheEntry *entry) const
 
virtual const int GetMaxRequestsToYield () const
 
virtual const uint64_t GetInitRetryTimeUSec () const
 
virtual uint32_t GetNumReadRequestToBunch () const
 
EventManagerevent_manager ()
 

Private Attributes

ConfigClientManagermgr_
 
EventManagerevm_
 
std::string config_db_user_
 
std::string config_db_password_
 
std::vector< std::string > config_db_ips_
 
std::vector< int > config_db_ports_
 
FQNameCacheMap fq_name_cache_
 
tbb::spin_rw_mutex rw_mutex_
 
tbb::atomic< bool > client_connection_up_
 
tbb::atomic< uint64_t > connection_status_change_at_
 

Detailed Description

Definition at line 42 of file config_db_client.h.

Member Typedef Documentation

◆ FQNameCacheMap

typedef std::map<std::string, FQNameCacheType> ConfigDbClient::FQNameCacheMap
protected

Definition at line 120 of file config_db_client.h.

◆ ObjTypeFQNPair

typedef std::pair<std::string, std::string> ConfigDbClient::ObjTypeFQNPair

Definition at line 58 of file config_db_client.h.

Constructor & Destructor Documentation

◆ ConfigDbClient()

ConfigDbClient::ConfigDbClient ( ConfigClientManager mgr,
EventManager evm,
const ConfigClientOptions options 
)

Definition at line 21 of file config_db_client.cc.

Here is the call graph for this function:

◆ ~ConfigDbClient()

ConfigDbClient::~ConfigDbClient ( )
virtual

Definition at line 46 of file config_db_client.cc.

Member Function Documentation

◆ AddFQNameCache()

void ConfigDbClient::AddFQNameCache ( const std::string &  uuid,
const std::string &  obj_type,
const std::string &  fq_name 
)
virtual

Definition at line 86 of file config_db_client.cc.

◆ ClearFQNameCache()

virtual void ConfigDbClient::ClearFQNameCache ( )
inlinevirtual

Definition at line 83 of file config_db_client.h.

◆ config_db_ips()

const vector< string > & ConfigDbClient::config_db_ips ( ) const

Definition at line 57 of file config_db_client.cc.

◆ config_db_password()

const string & ConfigDbClient::config_db_password ( ) const

Definition at line 53 of file config_db_client.cc.

◆ config_db_user()

const string & ConfigDbClient::config_db_user ( ) const

Definition at line 49 of file config_db_client.cc.

◆ EnqueueUUIDRequest()

virtual void ConfigDbClient::EnqueueUUIDRequest ( std::string  uuid_str,
std::string  obj_type,
std::string  oper 
)
pure virtual

Implemented in ConfigCassandraClient.

◆ event_manager()

EventManager* ConfigDbClient::event_manager ( )
inlineprotected

Definition at line 135 of file config_db_client.h.

◆ FillFQNameCacheInfo()

void ConfigDbClient::FillFQNameCacheInfo ( const std::string &  uuid,
FQNameCacheMap::const_iterator  it,
ConfigDBFQNameCacheEntry *  entry 
) const
protectedvirtual

Definition at line 126 of file config_db_client.cc.

◆ FindFQName()

string ConfigDbClient::FindFQName ( const std::string &  uuid) const
virtual

Definition at line 109 of file config_db_client.cc.

Here is the call graph for this function:

◆ GetConnectionInfo()

void ConfigDbClient::GetConnectionInfo ( ConfigDBConnInfo &  status) const
virtual

Definition at line 176 of file config_db_client.cc.

Here is the call graph for this function:

◆ GetFirstConfigDbPort()

int ConfigDbClient::GetFirstConfigDbPort ( ) const

Definition at line 61 of file config_db_client.cc.

◆ GetInitRetryTimeUSec()

virtual const uint64_t ConfigDbClient::GetInitRetryTimeUSec ( ) const
inlineprotectedvirtual

Definition at line 130 of file config_db_client.h.

◆ GetMaxRequestsToYield()

virtual const int ConfigDbClient::GetMaxRequestsToYield ( ) const
inlineprotectedvirtual

Definition at line 127 of file config_db_client.h.

◆ GetNumReadRequestToBunch()

uint32_t ConfigDbClient::GetNumReadRequestToBunch ( ) const
protectedvirtual

Definition at line 69 of file config_db_client.cc.

◆ GetUUID()

virtual std::string ConfigDbClient::GetUUID ( const std::string &  key) const
inlinevirtual

Definition at line 95 of file config_db_client.h.

◆ InitConnectionInfo()

void ConfigDbClient::InitConnectionInfo ( )
virtual

Definition at line 160 of file config_db_client.cc.

Here is the call graph for this function:

◆ InitDatabase()

virtual void ConfigDbClient::InitDatabase ( )
pure virtual

◆ InvalidateFQNameCache()

void ConfigDbClient::InvalidateFQNameCache ( const std::string &  uuid)
virtual

Definition at line 95 of file config_db_client.cc.

◆ IsListOrMapPropEmpty()

virtual bool ConfigDbClient::IsListOrMapPropEmpty ( const std::string &  uuid_key,
const std::string &  lookup_key 
)
pure virtual

◆ IsTaskTriggered()

bool ConfigDbClient::IsTaskTriggered ( ) const
virtual

Reimplemented in ConfigEtcdClient, and ConfigCassandraClient.

Definition at line 184 of file config_db_client.cc.

◆ mgr() [1/2]

ConfigClientManager* ConfigDbClient::mgr ( )
inline

Definition at line 107 of file config_db_client.h.

◆ mgr() [2/2]

const ConfigClientManager* ConfigDbClient::mgr ( ) const
inline

Definition at line 108 of file config_db_client.h.

◆ PostShutdown()

virtual void ConfigDbClient::PostShutdown ( )
pure virtual

◆ PurgeFQNameCache()

void ConfigDbClient::PurgeFQNameCache ( const std::string &  uuid)
virtual

Definition at line 104 of file config_db_client.cc.

◆ StartWatcher()

void ConfigDbClient::StartWatcher ( )
virtual

Reimplemented in ConfigEtcdClient.

Definition at line 188 of file config_db_client.cc.

◆ UpdateConnectionInfo()

void ConfigDbClient::UpdateConnectionInfo ( bool  success,
bool  force 
)
virtual

Definition at line 165 of file config_db_client.cc.

Here is the call graph for this function:

◆ uuid_str()

string ConfigDbClient::uuid_str ( const std::string &  uuid)
virtual

Definition at line 65 of file config_db_client.cc.

◆ UUIDToFQName()

ConfigDbClient::ObjTypeFQNPair ConfigDbClient::UUIDToFQName ( const std::string &  uuid_str,
bool  deleted_ok = true 
) const

Definition at line 114 of file config_db_client.cc.

◆ UUIDToFQNameShow()

bool ConfigDbClient::UUIDToFQNameShow ( const std::string &  search_string,
const std::string &  last_uuid,
uint32_t  num_entries,
std::vector< ConfigDBFQNameCacheEntry > *  entries 
) const
virtual

Definition at line 134 of file config_db_client.cc.

Here is the call graph for this function:

◆ UUIDToObjCacheShow()

virtual bool ConfigDbClient::UUIDToObjCacheShow ( const std::string &  search_string,
int  inst_num,
const std::string &  last_uuid,
uint32_t  num_entries,
std::vector< ConfigDBUUIDCacheEntry > *  entries 
) const
pure virtual

Implemented in ConfigCassandraClient.

Member Data Documentation

◆ client_connection_up_

tbb::atomic<bool> ConfigDbClient::client_connection_up_
private

Definition at line 146 of file config_db_client.h.

◆ config_db_ips_

std::vector<std::string> ConfigDbClient::config_db_ips_
private

Definition at line 142 of file config_db_client.h.

◆ config_db_password_

std::string ConfigDbClient::config_db_password_
private

Definition at line 141 of file config_db_client.h.

◆ config_db_ports_

std::vector<int> ConfigDbClient::config_db_ports_
private

Definition at line 143 of file config_db_client.h.

◆ config_db_user_

std::string ConfigDbClient::config_db_user_
private

Definition at line 140 of file config_db_client.h.

◆ connection_status_change_at_

tbb::atomic<uint64_t> ConfigDbClient::connection_status_change_at_
private

Definition at line 147 of file config_db_client.h.

◆ evm_

EventManager* ConfigDbClient::evm_
private

Definition at line 139 of file config_db_client.h.

◆ fq_name_cache_

FQNameCacheMap ConfigDbClient::fq_name_cache_
private

Definition at line 144 of file config_db_client.h.

◆ kInitRetryTimeUSec

const uint64_t ConfigDbClient::kInitRetryTimeUSec = 5000000
static

Definition at line 45 of file config_db_client.h.

◆ kMaxRequestsToYield

const int ConfigDbClient::kMaxRequestsToYield = 512
static

Definition at line 48 of file config_db_client.h.

◆ kNumEntriesToRead

const int ConfigDbClient::kNumEntriesToRead = 4096
static

Definition at line 51 of file config_db_client.h.

◆ mgr_

ConfigClientManager* ConfigDbClient::mgr_
private

Definition at line 138 of file config_db_client.h.

◆ rw_mutex_

tbb::spin_rw_mutex ConfigDbClient::rw_mutex_
mutableprivate

Definition at line 145 of file config_db_client.h.


The documentation for this class was generated from the following files: