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

#include <dns_config.h>

Collaboration diagram for DnsConfigManager:

Classes

struct  Observers
 

Public Types

enum  EventType { CFG_NONE, CFG_ADD, CFG_CHANGE, CFG_DELETE }
 
typedef boost::function< void(IFMapNodeProxy
*, const std::string
&, EventType)> 
Observer
 

Public Member Functions

 DnsConfigManager ()
 
virtual ~DnsConfigManager ()
 
void Initialize (DB *db, DBGraph *db_graph)
 
void RegisterObservers (const Observers &obs)
 
DBdatabase ()
 
DBGraphgraph ()
 
void OnChange ()
 
const std::string & localname () const
 
const std::string & ToEventString (EventType ev)
 
void Terminate ()
 
IFMapNodeFindTarget (IFMapNode *node, std::string link_name)
 
IFMapNodeFindTarget (IFMapNode *node, std::string link_name, std::string node_type)
 

Static Public Attributes

static const int kConfigTaskInstanceId = 0
 
static const std::string EventString []
 
static const char * config_types []
 
static uint32_t config_types_size = sizeof(DnsConfigManager::config_types)
 

Private Types

typedef std::vector< ConfigDeltaChangeList
 
typedef std::map< std::string,
boost::function< void(const
ConfigDelta &)> > 
IdentifierMap
 

Private Member Functions

void IdentifierMapInit ()
 
void ProcessChanges (const ChangeList &change_list)
 
void ProcessNetworkIpam (const ConfigDelta &delta)
 
void ProcessVNNI (const ConfigDelta &delta)
 
void ProcessVirtualDNS (const ConfigDelta &delta)
 
void ProcessVirtualDNSRecord (const ConfigDelta &delta)
 
void ProcessGlobalQosConfig (const ConfigDelta &delta)
 
void ProcessNode (const ConfigDelta &delta, DnsConfigData &config_data, Observer observer)
 
bool ConfigHandler ()
 
 DISALLOW_COPY_AND_ASSIGN (DnsConfigManager)
 

Private Attributes

DBdb_
 
DBGraphdb_graph_
 
std::string localname_
 
IdentifierMap id_map_
 
DnsConfigData ipam_config_
 
DnsConfigData vnni_config_
 
DnsConfigData virt_dns_config_
 
DnsConfigData virt_dns_rec_config_
 
DnsConfigData global_qos_config_
 
Observers obs_
 
TaskTrigger trigger_
 
boost::scoped_ptr< ConfigListenerlistener_
 

Static Private Attributes

static int config_task_id_ = -1
 

Detailed Description

Definition at line 73 of file dns_config.h.

Member Typedef Documentation

typedef std::vector<ConfigDelta> DnsConfigManager::ChangeList
private

Definition at line 114 of file dns_config.h.

typedef std::map<std::string, boost::function<void(const ConfigDelta &)> > DnsConfigManager::IdentifierMap
private

Definition at line 116 of file dns_config.h.

typedef boost::function<void(IFMapNodeProxy *, const std::string&, EventType)> DnsConfigManager::Observer

Definition at line 86 of file dns_config.h.

Member Enumeration Documentation

Enumerator
CFG_NONE 
CFG_ADD 
CFG_CHANGE 
CFG_DELETE 

Definition at line 76 of file dns_config.h.

Constructor & Destructor Documentation

DnsConfigManager::DnsConfigManager ( )

Definition at line 49 of file dns_config.cc.

Here is the call graph for this function:

DnsConfigManager::~DnsConfigManager ( )
virtual

Definition at line 62 of file dns_config.cc.

Member Function Documentation

bool DnsConfigManager::ConfigHandler ( )
private

Definition at line 204 of file dns_config.cc.

Here is the call graph for this function:

DB* DnsConfigManager::database ( )
inline

Definition at line 100 of file dns_config.h.

DnsConfigManager::DISALLOW_COPY_AND_ASSIGN ( DnsConfigManager  )
private
IFMapNode * DnsConfigManager::FindTarget ( IFMapNode node,
std::string  link_name 
)

Definition at line 168 of file dns_config.cc.

Here is the call graph for this function:

IFMapNode * DnsConfigManager::FindTarget ( IFMapNode node,
std::string  link_name,
std::string  node_type 
)

Definition at line 179 of file dns_config.cc.

Here is the call graph for this function:

DBGraph* DnsConfigManager::graph ( )
inline

Definition at line 101 of file dns_config.h.

void DnsConfigManager::IdentifierMapInit ( )
private

Definition at line 76 of file dns_config.cc.

Here is the call graph for this function:

void DnsConfigManager::Initialize ( DB db,
DBGraph db_graph 
)

Definition at line 65 of file dns_config.cc.

const std::string& DnsConfigManager::localname ( ) const
inline

Definition at line 105 of file dns_config.h.

void DnsConfigManager::OnChange ( )

Definition at line 72 of file dns_config.cc.

Here is the call graph for this function:

void DnsConfigManager::ProcessChanges ( const ChangeList change_list)
private

Definition at line 194 of file dns_config.cc.

void DnsConfigManager::ProcessGlobalQosConfig ( const ConfigDelta delta)
private

Definition at line 159 of file dns_config.cc.

Here is the call graph for this function:

void DnsConfigManager::ProcessNetworkIpam ( const ConfigDelta delta)
private

Definition at line 151 of file dns_config.cc.

Here is the call graph for this function:

void DnsConfigManager::ProcessNode ( const ConfigDelta delta,
DnsConfigData config_data,
Observer  observer 
)
private

Definition at line 89 of file dns_config.cc.

Here is the call graph for this function:

void DnsConfigManager::ProcessVirtualDNS ( const ConfigDelta delta)
private

Definition at line 127 of file dns_config.cc.

Here is the call graph for this function:

void DnsConfigManager::ProcessVirtualDNSRecord ( const ConfigDelta delta)
private

Definition at line 135 of file dns_config.cc.

Here is the call graph for this function:

void DnsConfigManager::ProcessVNNI ( const ConfigDelta delta)
private

Definition at line 143 of file dns_config.cc.

Here is the call graph for this function:

void DnsConfigManager::RegisterObservers ( const Observers obs)
inline

Definition at line 98 of file dns_config.h.

void DnsConfigManager::Terminate ( )

Definition at line 211 of file dns_config.cc.

const std::string& DnsConfigManager::ToEventString ( EventType  ev)
inline

Definition at line 107 of file dns_config.h.

Member Data Documentation

int DnsConfigManager::config_task_id_ = -1
staticprivate

Definition at line 129 of file dns_config.h.

const char * DnsConfigManager::config_types
static
Initial value:
= {
"virtual-DNS",
"virtual-DNS-record",
"network-ipam",
"virtual-network-network-ipam",
"global-qos-config",
}

Definition at line 83 of file dns_config.h.

uint32_t DnsConfigManager::config_types_size = sizeof(DnsConfigManager::config_types)
static

Definition at line 84 of file dns_config.h.

DB* DnsConfigManager::db_
private

Definition at line 131 of file dns_config.h.

DBGraph* DnsConfigManager::db_graph_
private

Definition at line 132 of file dns_config.h.

const std::string DnsConfigManager::EventString
static
Initial value:
= {
"None",
"Add",
"Change",
"Delete"
}

Definition at line 82 of file dns_config.h.

DnsConfigData DnsConfigManager::global_qos_config_
private

Definition at line 139 of file dns_config.h.

IdentifierMap DnsConfigManager::id_map_
private

Definition at line 134 of file dns_config.h.

DnsConfigData DnsConfigManager::ipam_config_
private

Definition at line 135 of file dns_config.h.

const int DnsConfigManager::kConfigTaskInstanceId = 0
static

Definition at line 75 of file dns_config.h.

boost::scoped_ptr<ConfigListener> DnsConfigManager::listener_
private

Definition at line 142 of file dns_config.h.

std::string DnsConfigManager::localname_
private

Definition at line 133 of file dns_config.h.

Observers DnsConfigManager::obs_
private

Definition at line 140 of file dns_config.h.

TaskTrigger DnsConfigManager::trigger_
private

Definition at line 141 of file dns_config.h.

DnsConfigData DnsConfigManager::virt_dns_config_
private

Definition at line 137 of file dns_config.h.

DnsConfigData DnsConfigManager::virt_dns_rec_config_
private

Definition at line 138 of file dns_config.h.

DnsConfigData DnsConfigManager::vnni_config_
private

Definition at line 136 of file dns_config.h.


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