OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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,
FQNameCacheType
FQNameCacheMap
 

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

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

Definition at line 120 of file config_db_client.h.

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

Definition at line 58 of file config_db_client.h.

Constructor & Destructor Documentation

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 ( )
virtual

Definition at line 46 of file config_db_client.cc.

Member Function Documentation

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.

virtual void ConfigDbClient::ClearFQNameCache ( )
inlinevirtual

Definition at line 83 of file config_db_client.h.

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

Definition at line 57 of file config_db_client.cc.

const string & ConfigDbClient::config_db_password ( ) const

Definition at line 53 of file config_db_client.cc.

const string & ConfigDbClient::config_db_user ( ) const

Definition at line 49 of file config_db_client.cc.

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

Implemented in ConfigCassandraClient.

EventManager* ConfigDbClient::event_manager ( )
inlineprotected

Definition at line 135 of file config_db_client.h.

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.

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:

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:

int ConfigDbClient::GetFirstConfigDbPort ( ) const

Definition at line 61 of file config_db_client.cc.

virtual const uint64_t ConfigDbClient::GetInitRetryTimeUSec ( ) const
inlineprotectedvirtual

Definition at line 130 of file config_db_client.h.

virtual const int ConfigDbClient::GetMaxRequestsToYield ( ) const
inlineprotectedvirtual

Definition at line 127 of file config_db_client.h.

uint32_t ConfigDbClient::GetNumReadRequestToBunch ( ) const
protectedvirtual

Definition at line 69 of file config_db_client.cc.

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

Definition at line 95 of file config_db_client.h.

void ConfigDbClient::InitConnectionInfo ( )
virtual

Definition at line 160 of file config_db_client.cc.

Here is the call graph for this function:

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

Definition at line 95 of file config_db_client.cc.

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

Reimplemented in ConfigCassandraClient, and ConfigEtcdClient.

Definition at line 184 of file config_db_client.cc.

ConfigClientManager* ConfigDbClient::mgr ( )
inline

Definition at line 107 of file config_db_client.h.

const ConfigClientManager* ConfigDbClient::mgr ( ) const
inline

Definition at line 108 of file config_db_client.h.

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

Definition at line 104 of file config_db_client.cc.

void ConfigDbClient::StartWatcher ( )
virtual

Reimplemented in ConfigEtcdClient.

Definition at line 188 of file config_db_client.cc.

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:

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

Definition at line 65 of file config_db_client.cc.

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

Definition at line 114 of file config_db_client.cc.

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:

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

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

Definition at line 146 of file config_db_client.h.

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

Definition at line 142 of file config_db_client.h.

std::string ConfigDbClient::config_db_password_
private

Definition at line 141 of file config_db_client.h.

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

Definition at line 143 of file config_db_client.h.

std::string ConfigDbClient::config_db_user_
private

Definition at line 140 of file config_db_client.h.

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

Definition at line 147 of file config_db_client.h.

EventManager* ConfigDbClient::evm_
private

Definition at line 139 of file config_db_client.h.

FQNameCacheMap ConfigDbClient::fq_name_cache_
private

Definition at line 144 of file config_db_client.h.

const uint64_t ConfigDbClient::kInitRetryTimeUSec = 5000000
static

Definition at line 45 of file config_db_client.h.

const int ConfigDbClient::kMaxRequestsToYield = 512
static

Definition at line 48 of file config_db_client.h.

const int ConfigDbClient::kNumEntriesToRead = 4096
static

Definition at line 51 of file config_db_client.h.

ConfigClientManager* ConfigDbClient::mgr_
private

Definition at line 138 of file config_db_client.h.

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: