5 #ifndef config_client_manager_h
6 #define config_client_manager_h
8 #include <boost/function.hpp>
9 #include <boost/scoped_ptr.hpp>
10 #include <boost/shared_ptr.hpp>
14 #include <tbb/compat/condition_variable>
15 #include <tbb/mutex.h>
19 #include <rapidjson/document.h>
29 struct ConfigClientManagerInfo;
47 std::string module_name,
56 std::string uuid_str);
std::map< std::string, std::string > WrapperFieldMap
std::pair< std::string, bool > LinkDataPair
void EnqueueUUIDRequest(std::string oper, std::string obj_type, std::string uuid_str)
static const std::set< std::string > skip_properties
std::map< LinkMemberPair, std::string > ParentNameMap
static void set_end_of_rib_computed(bool end_of_rib_computed)
boost::scoped_ptr< ConfigJsonParserBase > config_json_parser_
ConfigDbClient * config_db_client() const
ParentNameMap parent_name_map_
ConfigClientOptions config_options_
tbb::mutex end_of_rib_sync_mutex_
void WaitForEndOfConfig()
LinkNameMap link_name_map_
ConfigDbClient * config_db_client()
bool GetEndOfRibComputed() const
static bool end_of_rib_computed_
static const int kNumConfigReaderTasks
bool is_reinit_triggered()
boost::scoped_ptr< TaskTrigger > init_trigger_
uint64_t GetGenerationNumber() const
tbb::interface5::condition_variable cond_var_
boost::scoped_ptr< ConfigAmqpClient > config_amqp_client_
uint64_t GetEndOfRibComputedAt() const
ConfigJsonParserBase * config_json_parser()
void SetDefaultSchedulingPolicy()
tbb::atomic< bool > reinit_triggered_
static int GetNumConfigReader()
std::pair< std::string, std::string > LinkMemberPair
uint64_t end_of_rib_computed_at_
ConfigAmqpClient * config_amqp_client()
uint64_t IncrementGenerationNumber()
static bool end_of_rib_computed()
static int GetNumWorkers()
uint64_t generation_number_
ConfigAmqpClient * config_amqp_client() const
void GetClientManagerInfo(ConfigClientManagerInfo &info) const
void ReinitConfigClient()
ConfigClientManager(EventManager *evm, ConfigJsonParserBase *cfg_json_base, std::string hostname, std::string module_name, const ConfigClientOptions &config_options)
std::map< LinkMemberPair, LinkDataPair > LinkNameMap
boost::scoped_ptr< ConfigDbClient > config_db_client_
void SetUp(ConfigJsonParserBase *)
std::set< std::string > ObjectTypeList