OpenSDN source code
|
#include <config_cassandra_client.h>
Public Types | |
typedef boost::scoped_ptr < GenDb::GenDbIf > | GenDbIfPtr |
typedef std::vector < ConfigCassandraPartition * > | PartitionList |
![]() | |
typedef std::pair< std::string, std::string > | ObjTypeFQNPair |
Public Member Functions | |
ConfigCassandraClient (ConfigClientManager *mgr, EventManager *evm, const ConfigClientOptions &options, int num_workers) | |
virtual | ~ConfigCassandraClient () |
virtual void | InitDatabase () |
void | BulkSyncDone () |
ConfigCassandraPartition * | GetPartition (const std::string &uuid) |
const ConfigCassandraPartition * | GetPartition (const std::string &uuid) const |
const ConfigCassandraPartition * | GetPartition (int worker_id) const |
void | EnqueueUUIDRequest (std::string oper, std::string obj_type, std::string uuid_str) |
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 |
virtual bool | IsListOrMapPropEmpty (const string &uuid_key, const string &lookup_key) |
virtual bool | IsTaskTriggered () const |
![]() | |
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 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 void | StartWatcher () |
ConfigClientManager * | mgr () |
const ConfigClientManager * | mgr () const |
Static Public Attributes | |
static const std::string | kUuidTableName = "obj_uuid_table" |
static const std::string | kFqnTableName = "obj_fq_name_table" |
static const std::string | kCassClientTaskId = "config_client::Reader" |
static const std::string | kObjectProcessTaskId |
static const int | kMaxNumUUIDToRead = 64 |
static const int | kNumFQNameEntriesToRead = 4096 |
![]() | |
static const uint64_t | kInitRetryTimeUSec = 5000000 |
static const int | kMaxRequestsToYield = 512 |
static const int | kNumEntriesToRead = 4096 |
Protected Types | |
typedef std::pair< std::string, std::string > | ObjTypeUUIDType |
typedef std::list < ObjTypeUUIDType > | ObjTypeUUIDList |
![]() | |
typedef std::map< std::string, FQNameCacheType > | FQNameCacheMap |
Protected Member Functions | |
void | UpdateFQNameCache (const std::string &key, const std::string &obj_type, ObjTypeUUIDList &uuid_list) |
virtual bool | BulkDataSync () |
bool | EnqueueDBSyncRequest (const ObjTypeUUIDList &uuid_list) |
virtual std::string | FetchUUIDFromFQNameEntry (const std::string &key) const |
virtual int | HashUUID (const std::string &uuid_str) const |
virtual bool | SkipTimeStampCheckForTypeAndFQName () const |
virtual uint32_t | GetFQNameEntriesToRead () const |
int | num_workers () const |
PartitionList & | partitions () |
virtual void | PostShutdown () |
![]() | |
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 |
EventManager * | event_manager () |
Private Member Functions | |
bool | InitRetry () |
bool | FQNameReader () |
bool | ParseFQNameRowGetUUIDList (const std::string &obj_type, const GenDb::ColList &col_list, ObjTypeUUIDList &uuid_list, std::string *last_column) |
void | HandleCassandraConnectionStatus (bool success, bool force_update=false) |
Private Attributes | |
GenDbIfPtr | dbif_ |
int | num_workers_ |
PartitionList | partitions_ |
boost::scoped_ptr< TaskTrigger > | fq_name_reader_ |
tbb::atomic< long > | bulk_sync_status_ |
Friends | |
class | ConfigCassandraPartition |
Definition at line 182 of file config_cassandra_client.h.
typedef boost::scoped_ptr<GenDb::GenDbIf> ConfigCassandraClient::GenDbIfPtr |
Definition at line 198 of file config_cassandra_client.h.
|
protected |
Definition at line 224 of file config_cassandra_client.h.
|
protected |
Definition at line 223 of file config_cassandra_client.h.
typedef std::vector<ConfigCassandraPartition *> ConfigCassandraClient::PartitionList |
Definition at line 199 of file config_cassandra_client.h.
ConfigCassandraClient::ConfigCassandraClient | ( | ConfigClientManager * | mgr, |
EventManager * | evm, | ||
const ConfigClientOptions & | options, | ||
int | num_workers | ||
) |
|
virtual |
|
protectedvirtual |
Definition at line 391 of file config_cassandra_client.cc.
void ConfigCassandraClient::BulkSyncDone | ( | ) |
Definition at line 549 of file config_cassandra_client.cc.
|
protected |
Definition at line 527 of file config_cassandra_client.cc.
|
virtual |
Implements ConfigDbClient.
Definition at line 543 of file config_cassandra_client.cc.
|
protectedvirtual |
Definition at line 521 of file config_cassandra_client.cc.
|
private |
Definition at line 417 of file config_cassandra_client.cc.
|
inlineprotectedvirtual |
Definition at line 234 of file config_cassandra_client.h.
ConfigCassandraPartition* ConfigCassandraClient::GetPartition | ( | const std::string & | uuid | ) |
const ConfigCassandraPartition* ConfigCassandraClient::GetPartition | ( | const std::string & | uuid | ) | const |
const ConfigCassandraPartition * ConfigCassandraClient::GetPartition | ( | int | worker_id | ) | const |
Definition at line 143 of file config_cassandra_client.cc.
|
private |
Definition at line 562 of file config_cassandra_client.cc.
|
protectedvirtual |
Definition at line 148 of file config_cassandra_client.cc.
|
virtual |
Implements ConfigDbClient.
Definition at line 84 of file config_cassandra_client.cc.
|
private |
Definition at line 121 of file config_cassandra_client.cc.
|
virtual |
Definition at line 584 of file config_cassandra_client.cc.
|
virtual |
Walk the partitions and check if ConfigReader task has been triggered in any of them. If so, return true.
Reimplemented from ConfigDbClient.
Definition at line 399 of file config_cassandra_client.cc.
|
inlineprotected |
Definition at line 237 of file config_cassandra_client.h.
|
private |
Definition at line 494 of file config_cassandra_client.cc.
|
inlineprotected |
Definition at line 238 of file config_cassandra_client.h.
|
protectedvirtual |
Implements ConfigDbClient.
Definition at line 382 of file config_cassandra_client.cc.
|
inlineprotectedvirtual |
Definition at line 233 of file config_cassandra_client.h.
|
protected |
Definition at line 512 of file config_cassandra_client.cc.
|
virtual |
Implements ConfigDbClient.
Definition at line 536 of file config_cassandra_client.cc.
|
friend |
Definition at line 242 of file config_cassandra_client.h.
|
private |
Definition at line 258 of file config_cassandra_client.h.
|
private |
Definition at line 254 of file config_cassandra_client.h.
|
private |
Definition at line 257 of file config_cassandra_client.h.
|
static |
Definition at line 189 of file config_cassandra_client.h.
|
static |
Definition at line 186 of file config_cassandra_client.h.
|
static |
Definition at line 193 of file config_cassandra_client.h.
|
static |
Definition at line 196 of file config_cassandra_client.h.
|
static |
Definition at line 190 of file config_cassandra_client.h.
|
static |
Definition at line 185 of file config_cassandra_client.h.
|
private |
Definition at line 255 of file config_cassandra_client.h.
|
private |
Definition at line 256 of file config_cassandra_client.h.