OpenSDN source code
|
#include <config_cassandra_client.h>
Classes | |
struct | cmp_json_key |
struct | FieldTimeStampInfo |
class | ObjCacheEntry |
struct | ObjectProcessRequestType |
Public Types | |
typedef boost::shared_ptr < WorkQueue< ObjectProcessReq * > > | ObjProcessWorkQType |
typedef std::map < JsonAdapterDataType, FieldTimeStampInfo, cmp_json_key > | FieldDetailMap |
typedef boost::ptr_map < std::string, ObjCacheEntry > | ObjectCacheMap |
Public Member Functions | |
ConfigCassandraPartition (ConfigCassandraClient *client, size_t idx) | |
virtual | ~ConfigCassandraPartition () |
ObjProcessWorkQType | obj_process_queue () |
virtual int | UUIDRetryTimeInMSec (const ObjCacheEntry *obj) const |
ObjCacheEntry * | GetObjCacheEntry (const std::string &uuid) |
const ObjCacheEntry * | GetObjCacheEntry (const std::string &uuid) const |
bool | StoreKeyIfUpdated (const std::string &uuid, JsonAdapterDataType *adapter, uint64_t timestamp, ConfigCassandraParseContext &context) |
void | ListMapPropReviseUpdateList (const std::string &uuid, ConfigCassandraParseContext &context) |
ObjCacheEntry * | MarkCacheDirty (const std::string &uuid) |
void | DeleteCacheMap (const std::string &uuid) |
void | Enqueue (ObjectProcessReq *req) |
bool | UUIDToObjCacheShow (const std::string &search_string, const std::string &last_uuid, uint32_t num_entries, std::vector< ConfigDBUUIDCacheEntry > *entries) const |
int | GetInstanceId () const |
boost::asio::io_context * | ioservice () |
bool | IsListOrMapPropEmpty (const string &uuid_key, const string &lookup_key) |
bool | IsTaskTriggered () const |
Static Public Attributes | |
static const uint32_t | kMaxUUIDRetryTimePowOfTwo = 20 |
static const uint32_t | kMinUUIDRetryTimeMSec = 100 |
Protected Member Functions | |
virtual bool | ReadObjUUIDTable (const std::set< std::string > &uuid_list) |
bool | ProcessObjUUIDTableEntry (const std::string &uuid_key, const GenDb::ColList &col_list) |
virtual void | ParseObjUUIDTableEntry (const std::string &uuid, const GenDb::ColList &col_list, CassColumnKVVec *cass_data_vec, ConfigCassandraParseContext &context) |
void | ParseObjUUIDTableEachColumnBuildContext (const std::string &uuid, const std::string &key, const std::string &value, uint64_t timestamp, CassColumnKVVec *cass_data_vec, ConfigCassandraParseContext &context) |
virtual void | HandleObjectDelete (const string &uuid, bool add_change) |
ConfigCassandraClient * | client () |
Private Types | |
typedef std::map< std::string, ObjectProcessRequestType * > | UUIDProcessSet |
Private Member Functions | |
bool | RequestHandler (ObjectProcessReq *req) |
void | AddUUIDToRequestList (const std::string &oper, const std::string &obj_type, const std::string &uuid_str) |
bool | ConfigReader () |
void | RemoveObjReqEntries (std::set< std::string > &req_list) |
void | RemoveObjReqEntry (std::string &uuid) |
virtual void | GenerateAndPushJson (const string &uuid_key, const string &obj_type, const CassColumnKVVec &cass_data_vec, bool add_change) |
void | FillUUIDToObjCacheInfo (const std::string &uuid, ObjectCacheMap::const_iterator uuid_iter, ConfigDBUUIDCacheEntry *entry) const |
Private Attributes | |
ObjProcessWorkQType | obj_process_queue_ |
UUIDProcessSet | uuid_read_set_ |
ObjectCacheMap | object_cache_map_ |
boost::shared_ptr< TaskTrigger > | config_reader_ |
ConfigCassandraClient * | config_client_ |
int | worker_id_ |
Friends | |
class | ConfigCassandraClient |
Definition at line 36 of file config_cassandra_client.h.
typedef std::map<JsonAdapterDataType, FieldTimeStampInfo, cmp_json_key> ConfigCassandraPartition::FieldDetailMap |
Definition at line 56 of file config_cassandra_client.h.
typedef boost::ptr_map<std::string, ObjCacheEntry> ConfigCassandraPartition::ObjectCacheMap |
Definition at line 94 of file config_cassandra_client.h.
typedef boost::shared_ptr<WorkQueue<ObjectProcessReq *> > ConfigCassandraPartition::ObjProcessWorkQType |
Definition at line 42 of file config_cassandra_client.h.
|
private |
Definition at line 154 of file config_cassandra_client.h.
ConfigCassandraPartition::ConfigCassandraPartition | ( | ConfigCassandraClient * | client, |
size_t | idx | ||
) |
Definition at line 589 of file config_cassandra_client.cc.
|
virtual |
Definition at line 603 of file config_cassandra_client.cc.
|
private |
Definition at line 617 of file config_cassandra_client.cc.
|
inlineprotected |
Definition at line 138 of file config_cassandra_client.h.
|
private |
Definition at line 727 of file config_cassandra_client.cc.
|
inline |
Definition at line 110 of file config_cassandra_client.h.
void ConfigCassandraPartition::Enqueue | ( | ObjectProcessReq * | req | ) |
Definition at line 607 of file config_cassandra_client.cc.
|
private |
Definition at line 1040 of file config_cassandra_client.cc.
|
privatevirtual |
Definition at line 368 of file config_cassandra_client.cc.
|
inline |
Definition at line 120 of file config_cassandra_client.h.
ObjCacheEntry* ConfigCassandraPartition::GetObjCacheEntry | ( | const std::string & | uuid | ) |
const ObjCacheEntry* ConfigCassandraPartition::GetObjCacheEntry | ( | const std::string & | uuid | ) | const |
|
protectedvirtual |
Definition at line 636 of file config_cassandra_client.cc.
boost::asio::io_context * ConfigCassandraPartition::ioservice | ( | ) |
Definition at line 798 of file config_cassandra_client.cc.
bool ConfigCassandraPartition::IsListOrMapPropEmpty | ( | const string & | uuid_key, |
const string & | lookup_key | ||
) |
Definition at line 696 of file config_cassandra_client.cc.
bool ConfigCassandraPartition::IsTaskTriggered | ( | ) | const |
Definition at line 723 of file config_cassandra_client.cc.
void ConfigCassandraPartition::ListMapPropReviseUpdateList | ( | const std::string & | uuid, |
ConfigCassandraParseContext & | context | ||
) |
Definition at line 891 of file config_cassandra_client.cc.
ConfigCassandraPartition::ObjCacheEntry * ConfigCassandraPartition::MarkCacheDirty | ( | const std::string & | uuid | ) |
Definition at line 1019 of file config_cassandra_client.cc.
|
inline |
Definition at line 96 of file config_cassandra_client.h.
|
protected |
Definition at line 356 of file config_cassandra_client.cc.
|
protectedvirtual |
Definition at line 330 of file config_cassandra_client.cc.
|
protected |
Definition at line 273 of file config_cassandra_client.cc.
|
protectedvirtual |
Definition at line 153 of file config_cassandra_client.cc.
|
private |
Definition at line 783 of file config_cassandra_client.cc.
|
private |
Definition at line 790 of file config_cassandra_client.cc.
|
private |
Definition at line 611 of file config_cassandra_client.cc.
bool ConfigCassandraPartition::StoreKeyIfUpdated | ( | const std::string & | uuid, |
JsonAdapterDataType * | adapter, | ||
uint64_t | timestamp, | ||
ConfigCassandraParseContext & | context | ||
) |
Definition at line 919 of file config_cassandra_client.cc.
|
virtual |
Definition at line 818 of file config_cassandra_client.cc.
bool ConfigCassandraPartition::UUIDToObjCacheShow | ( | const std::string & | search_string, |
const std::string & | last_uuid, | ||
uint32_t | num_entries, | ||
std::vector< ConfigDBUUIDCacheEntry > * | entries | ||
) | const |
Definition at line 1064 of file config_cassandra_client.cc.
|
friend |
Definition at line 141 of file config_cassandra_client.h.
|
private |
Definition at line 174 of file config_cassandra_client.h.
|
private |
Definition at line 173 of file config_cassandra_client.h.
|
static |
Definition at line 92 of file config_cassandra_client.h.
|
static |
Definition at line 93 of file config_cassandra_client.h.
|
private |
Definition at line 170 of file config_cassandra_client.h.
|
private |
Definition at line 172 of file config_cassandra_client.h.
|
private |
Definition at line 171 of file config_cassandra_client.h.
|
private |
Definition at line 175 of file config_cassandra_client.h.