OpenSDN source code
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

◆ ChangeList

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

Definition at line 114 of file dns_config.h.

◆ IdentifierMap

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

Definition at line 116 of file dns_config.h.

◆ Observer

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

Definition at line 86 of file dns_config.h.

Member Enumeration Documentation

◆ EventType

Enumerator
CFG_NONE 
CFG_ADD 
CFG_CHANGE 
CFG_DELETE 

Definition at line 76 of file dns_config.h.

Constructor & Destructor Documentation

◆ DnsConfigManager()

DnsConfigManager::DnsConfigManager ( )

Definition at line 49 of file dns_config.cc.

Here is the call graph for this function:

◆ ~DnsConfigManager()

DnsConfigManager::~DnsConfigManager ( )
virtual

Definition at line 62 of file dns_config.cc.

Member Function Documentation

◆ ConfigHandler()

bool DnsConfigManager::ConfigHandler ( )
private

Definition at line 204 of file dns_config.cc.

Here is the call graph for this function:

◆ database()

DB* DnsConfigManager::database ( )
inline

Definition at line 100 of file dns_config.h.

◆ DISALLOW_COPY_AND_ASSIGN()

DnsConfigManager::DISALLOW_COPY_AND_ASSIGN ( DnsConfigManager  )
private

◆ FindTarget() [1/2]

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:

◆ FindTarget() [2/2]

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:

◆ graph()

DBGraph* DnsConfigManager::graph ( )
inline

Definition at line 101 of file dns_config.h.

◆ IdentifierMapInit()

void DnsConfigManager::IdentifierMapInit ( )
private

Definition at line 76 of file dns_config.cc.

Here is the call graph for this function:

◆ Initialize()

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

Definition at line 65 of file dns_config.cc.

◆ localname()

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

Definition at line 105 of file dns_config.h.

◆ OnChange()

void DnsConfigManager::OnChange ( )

Definition at line 72 of file dns_config.cc.

Here is the call graph for this function:

◆ ProcessChanges()

void DnsConfigManager::ProcessChanges ( const ChangeList change_list)
private

Definition at line 194 of file dns_config.cc.

◆ ProcessGlobalQosConfig()

void DnsConfigManager::ProcessGlobalQosConfig ( const ConfigDelta delta)
private

Definition at line 159 of file dns_config.cc.

Here is the call graph for this function:

◆ ProcessNetworkIpam()

void DnsConfigManager::ProcessNetworkIpam ( const ConfigDelta delta)
private

Definition at line 151 of file dns_config.cc.

Here is the call graph for this function:

◆ ProcessNode()

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:

◆ ProcessVirtualDNS()

void DnsConfigManager::ProcessVirtualDNS ( const ConfigDelta delta)
private

Definition at line 127 of file dns_config.cc.

Here is the call graph for this function:

◆ ProcessVirtualDNSRecord()

void DnsConfigManager::ProcessVirtualDNSRecord ( const ConfigDelta delta)
private

Definition at line 135 of file dns_config.cc.

Here is the call graph for this function:

◆ ProcessVNNI()

void DnsConfigManager::ProcessVNNI ( const ConfigDelta delta)
private

Definition at line 143 of file dns_config.cc.

Here is the call graph for this function:

◆ RegisterObservers()

void DnsConfigManager::RegisterObservers ( const Observers obs)
inline

Definition at line 98 of file dns_config.h.

◆ Terminate()

void DnsConfigManager::Terminate ( )

Definition at line 211 of file dns_config.cc.

◆ ToEventString()

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

Definition at line 107 of file dns_config.h.

Member Data Documentation

◆ config_task_id_

int DnsConfigManager::config_task_id_ = -1
staticprivate

Definition at line 129 of file dns_config.h.

◆ config_types

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.

◆ config_types_size

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

Definition at line 84 of file dns_config.h.

◆ db_

DB* DnsConfigManager::db_
private

Definition at line 131 of file dns_config.h.

◆ db_graph_

DBGraph* DnsConfigManager::db_graph_
private

Definition at line 132 of file dns_config.h.

◆ EventString

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

Definition at line 82 of file dns_config.h.

◆ global_qos_config_

DnsConfigData DnsConfigManager::global_qos_config_
private

Definition at line 139 of file dns_config.h.

◆ id_map_

IdentifierMap DnsConfigManager::id_map_
private

Definition at line 134 of file dns_config.h.

◆ ipam_config_

DnsConfigData DnsConfigManager::ipam_config_
private

Definition at line 135 of file dns_config.h.

◆ kConfigTaskInstanceId

const int DnsConfigManager::kConfigTaskInstanceId = 0
static

Definition at line 75 of file dns_config.h.

◆ listener_

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

Definition at line 142 of file dns_config.h.

◆ localname_

std::string DnsConfigManager::localname_
private

Definition at line 133 of file dns_config.h.

◆ obs_

Observers DnsConfigManager::obs_
private

Definition at line 140 of file dns_config.h.

◆ trigger_

TaskTrigger DnsConfigManager::trigger_
private

Definition at line 141 of file dns_config.h.

◆ virt_dns_config_

DnsConfigData DnsConfigManager::virt_dns_config_
private

Definition at line 137 of file dns_config.h.

◆ virt_dns_rec_config_

DnsConfigData DnsConfigManager::virt_dns_rec_config_
private

Definition at line 138 of file dns_config.h.

◆ vnni_config_

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: