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);
142 #endif // config_client_manager_h
std::pair< std::string, std::string > LinkMemberPair
ConfigJsonParserBase * config_json_parser()
static bool end_of_rib_computed()
std::map< LinkMemberPair, LinkDataPair > LinkNameMap
void SetUp(ConfigJsonParserBase *)
uint64_t GetGenerationNumber() const
ConfigAmqpClient * config_amqp_client()
std::map< std::string, std::string > WrapperFieldMap
ConfigDbClient * config_db_client() const
LinkNameMap link_name_map_
uint64_t GetEndOfRibComputedAt() const
ConfigAmqpClient * config_amqp_client() const
ParentNameMap parent_name_map_
ConfigClientOptions config_options_
uint64_t IncrementGenerationNumber()
static int GetNumConfigReader()
std::map< LinkMemberPair, std::string > ParentNameMap
bool GetEndOfRibComputed() const
std::set< std::string > ObjectTypeList
static const std::set< std::string > skip_properties
tbb::interface5::condition_variable cond_var_
boost::scoped_ptr< ConfigJsonParserBase > config_json_parser_
void SetDefaultSchedulingPolicy()
void WaitForEndOfConfig()
void ReinitConfigClient()
boost::scoped_ptr< ConfigDbClient > config_db_client_
boost::scoped_ptr< ConfigAmqpClient > config_amqp_client_
boost::scoped_ptr< TaskTrigger > init_trigger_
static bool end_of_rib_computed_
uint64_t generation_number_
ConfigDbClient * config_db_client()
tbb::mutex end_of_rib_sync_mutex_
tbb::atomic< bool > reinit_triggered_
ConfigClientManager(EventManager *evm, ConfigJsonParserBase *cfg_json_base, std::string hostname, std::string module_name, const ConfigClientOptions &config_options)
void GetClientManagerInfo(ConfigClientManagerInfo &info) const
bool is_reinit_triggered()
void EnqueueUUIDRequest(std::string oper, std::string obj_type, std::string uuid_str)
uint64_t end_of_rib_computed_at_
static const int kNumConfigReaderTasks
static void set_end_of_rib_computed(bool end_of_rib_computed)
static int GetNumWorkers()
std::pair< std::string, bool > LinkDataPair