OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ConfigClientManager Class Reference

#include <config_client_manager.h>

Collaboration diagram for ConfigClientManager:

Public Types

typedef std::set< std::string > ObjectTypeList
 

Public Member Functions

 ConfigClientManager (EventManager *evm, ConfigJsonParserBase *cfg_json_base, std::string hostname, std::string module_name, const ConfigClientOptions &config_options)
 
 ~ConfigClientManager ()
 
void Initialize ()
 
ConfigAmqpClientconfig_amqp_client () const
 
ConfigDbClientconfig_db_client () const
 
void EnqueueUUIDRequest (std::string oper, std::string obj_type, std::string uuid_str)
 
ConfigAmqpClientconfig_amqp_client ()
 
ConfigJsonParserBaseconfig_json_parser ()
 
ConfigDbClientconfig_db_client ()
 
void EndOfConfig ()
 
void WaitForEndOfConfig ()
 
void GetClientManagerInfo (ConfigClientManagerInfo &info) const
 
uint64_t GetGenerationNumber () const
 
uint64_t IncrementGenerationNumber ()
 
void ReinitConfigClient (const ConfigClientOptions &config)
 
void ReinitConfigClient ()
 
bool InitConfigClient ()
 
bool is_reinit_triggered ()
 
bool GetEndOfRibComputed () const
 
uint64_t GetEndOfRibComputedAt () const
 
void PostShutdown ()
 

Static Public Member Functions

static int GetNumConfigReader ()
 
static int GetNumWorkers ()
 
static bool end_of_rib_computed ()
 
static void set_end_of_rib_computed (bool end_of_rib_computed)
 

Static Public Attributes

static const int kNumConfigReaderTasks = 8
 
static const std::set
< std::string > 
skip_properties
 

Private Types

typedef std::pair< std::string,
std::string > 
LinkMemberPair
 
typedef std::pair< std::string,
bool > 
LinkDataPair
 
typedef std::map
< LinkMemberPair, std::string > 
ParentNameMap
 
typedef std::map
< LinkMemberPair, LinkDataPair
LinkNameMap
 
typedef std::map< std::string,
std::string > 
WrapperFieldMap
 

Private Member Functions

void SetUp (ConfigJsonParserBase *)
 
void SetDefaultSchedulingPolicy ()
 

Private Attributes

LinkNameMap link_name_map_
 
ParentNameMap parent_name_map_
 
EventManagerevm_
 
boost::scoped_ptr
< ConfigJsonParserBase
config_json_parser_
 
boost::scoped_ptr< ConfigDbClientconfig_db_client_
 
boost::scoped_ptr
< ConfigAmqpClient
config_amqp_client_
 
int thread_count_
 
uint64_t generation_number_
 
tbb::mutex end_of_rib_sync_mutex_
 
tbb::interface5::condition_variable cond_var_
 
uint64_t end_of_rib_computed_at_
 
std::string hostname_
 
std::string module_name_
 
ConfigClientOptions config_options_
 
tbb::atomic< bool > reinit_triggered_
 
boost::scoped_ptr< TaskTriggerinit_trigger_
 

Static Private Attributes

static bool end_of_rib_computed_
 

Detailed Description

Definition at line 37 of file config_client_manager.h.

Member Typedef Documentation

typedef std::pair<std::string, bool> ConfigClientManager::LinkDataPair
private

Definition at line 114 of file config_client_manager.h.

typedef std::pair<std::string, std::string> ConfigClientManager::LinkMemberPair
private

Definition at line 113 of file config_client_manager.h.

Definition at line 116 of file config_client_manager.h.

typedef std::set<std::string> ConfigClientManager::ObjectTypeList

Definition at line 42 of file config_client_manager.h.

typedef std::map<LinkMemberPair, std::string> ConfigClientManager::ParentNameMap
private

Definition at line 115 of file config_client_manager.h.

typedef std::map<std::string, std::string> ConfigClientManager::WrapperFieldMap
private

Definition at line 117 of file config_client_manager.h.

Constructor & Destructor Documentation

ConfigClientManager::ConfigClientManager ( EventManager evm,
ConfigJsonParserBase cfg_json_base,
std::string  hostname,
std::string  module_name,
const ConfigClientOptions config_options 
)

Definition at line 143 of file config_client_manager.cc.

Here is the call graph for this function:

ConfigClientManager::~ConfigClientManager ( )

Definition at line 156 of file config_client_manager.cc.

Member Function Documentation

ConfigAmqpClient * ConfigClientManager::config_amqp_client ( ) const

Definition at line 169 of file config_client_manager.cc.

ConfigAmqpClient* ConfigClientManager::config_amqp_client ( )
inline

Definition at line 58 of file config_client_manager.h.

ConfigDbClient * ConfigClientManager::config_db_client ( ) const

Definition at line 165 of file config_client_manager.cc.

ConfigDbClient* ConfigClientManager::config_db_client ( )
inline

Definition at line 60 of file config_client_manager.h.

ConfigJsonParserBase* ConfigClientManager::config_json_parser ( )
inline

Definition at line 59 of file config_client_manager.h.

static bool ConfigClientManager::end_of_rib_computed ( )
inlinestatic

Definition at line 103 of file config_client_manager.h.

void ConfigClientManager::EndOfConfig ( )

Definition at line 188 of file config_client_manager.cc.

Here is the call graph for this function:

void ConfigClientManager::EnqueueUUIDRequest ( std::string  oper,
std::string  obj_type,
std::string  uuid_str 
)

Definition at line 183 of file config_client_manager.cc.

void ConfigClientManager::GetClientManagerInfo ( ConfigClientManagerInfo &  info) const

Definition at line 229 of file config_client_manager.cc.

Here is the call graph for this function:

bool ConfigClientManager::GetEndOfRibComputed ( ) const

Definition at line 173 of file config_client_manager.cc.

uint64_t ConfigClientManager::GetEndOfRibComputedAt ( ) const

Definition at line 178 of file config_client_manager.cc.

uint64_t ConfigClientManager::GetGenerationNumber ( ) const
inline

Definition at line 77 of file config_client_manager.h.

int ConfigClientManager::GetNumConfigReader ( )
static

Definition at line 35 of file config_client_manager.cc.

static int ConfigClientManager::GetNumWorkers ( )
inlinestatic

Definition at line 64 of file config_client_manager.h.

Here is the call graph for this function:

uint64_t ConfigClientManager::IncrementGenerationNumber ( )
inline

Definition at line 86 of file config_client_manager.h.

bool ConfigClientManager::InitConfigClient ( )

Definition at line 272 of file config_client_manager.cc.

Here is the call graph for this function:

void ConfigClientManager::Initialize ( )

Definition at line 159 of file config_client_manager.cc.

bool ConfigClientManager::is_reinit_triggered ( )
inline

Definition at line 100 of file config_client_manager.h.

void ConfigClientManager::PostShutdown ( )

Definition at line 237 of file config_client_manager.cc.

Here is the call graph for this function:

void ConfigClientManager::ReinitConfigClient ( const ConfigClientOptions config)

Definition at line 313 of file config_client_manager.cc.

Here is the call graph for this function:

void ConfigClientManager::ReinitConfigClient ( )

Definition at line 319 of file config_client_manager.cc.

static void ConfigClientManager::set_end_of_rib_computed ( bool  end_of_rib_computed)
inlinestatic

Definition at line 104 of file config_client_manager.h.

Here is the call graph for this function:

void ConfigClientManager::SetDefaultSchedulingPolicy ( )
private

Definition at line 52 of file config_client_manager.cc.

Here is the call graph for this function:

void ConfigClientManager::SetUp ( ConfigJsonParserBase cfg_json_base)
private

Definition at line 110 of file config_client_manager.cc.

Here is the call graph for this function:

void ConfigClientManager::WaitForEndOfConfig ( )

Definition at line 215 of file config_client_manager.cc.

Here is the call graph for this function:

Member Data Documentation

tbb::interface5::condition_variable ConfigClientManager::cond_var_
private

Definition at line 132 of file config_client_manager.h.

boost::scoped_ptr<ConfigAmqpClient> ConfigClientManager::config_amqp_client_
private

Definition at line 127 of file config_client_manager.h.

boost::scoped_ptr<ConfigDbClient> ConfigClientManager::config_db_client_
private

Definition at line 126 of file config_client_manager.h.

boost::scoped_ptr<ConfigJsonParserBase> ConfigClientManager::config_json_parser_
private

Definition at line 125 of file config_client_manager.h.

ConfigClientOptions ConfigClientManager::config_options_
private

Definition at line 136 of file config_client_manager.h.

bool ConfigClientManager::end_of_rib_computed_
staticprivate

Definition at line 139 of file config_client_manager.h.

uint64_t ConfigClientManager::end_of_rib_computed_at_
private

Definition at line 133 of file config_client_manager.h.

tbb::mutex ConfigClientManager::end_of_rib_sync_mutex_
mutableprivate

Definition at line 131 of file config_client_manager.h.

EventManager* ConfigClientManager::evm_
private

Definition at line 124 of file config_client_manager.h.

uint64_t ConfigClientManager::generation_number_
private

Definition at line 129 of file config_client_manager.h.

std::string ConfigClientManager::hostname_
private

Definition at line 134 of file config_client_manager.h.

boost::scoped_ptr<TaskTrigger> ConfigClientManager::init_trigger_
private

Definition at line 138 of file config_client_manager.h.

const int ConfigClientManager::kNumConfigReaderTasks = 8
static

Definition at line 39 of file config_client_manager.h.

LinkNameMap ConfigClientManager::link_name_map_
private

Definition at line 122 of file config_client_manager.h.

std::string ConfigClientManager::module_name_
private

Definition at line 135 of file config_client_manager.h.

ParentNameMap ConfigClientManager::parent_name_map_
private

Definition at line 123 of file config_client_manager.h.

tbb::atomic<bool> ConfigClientManager::reinit_triggered_
private

Definition at line 137 of file config_client_manager.h.

const set< string > ConfigClientManager::skip_properties
static
Initial value:
=
list_of("perms2")("draft_mode_state")

Definition at line 40 of file config_client_manager.h.

int ConfigClientManager::thread_count_
private

Definition at line 128 of file config_client_manager.h.


The documentation for this class was generated from the following files: