OpenSDN source code
|
#include <ifmap_dependency_tracker.h>
Classes | |
struct | EdgeDescriptor |
Public Types | |
typedef std::list< EdgeDescriptor > | EdgeDescriptorList |
typedef std::list< std::pair < std::string, std::string > > | NodeList |
typedef std::set< std::string > | PropagateList |
typedef std::map< std::string, PropagateList > | ReactionMap |
typedef std::map< std::string, ReactionMap > | NodeEventPolicy |
typedef boost::function< void(IFMapNode *node)> | ChangeObserver |
Public Member Functions | |
IFMapDependencyTracker (DB *db, DBGraph *graph, ChangeObserver observer) | |
NodeEventPolicy * | policy_map () |
void | NodeEvent (IFMapNode *node) |
void | NodeEvent (IFMapNode *node, bool add_node_event) |
bool | LinkEvent (const std::string metadata, IFMapNode *left, IFMapNode *right) |
void | PropagateChanges () |
void | Clear () |
const NodeList & | node_list () const |
const EdgeDescriptorList & | edge_list () const |
Private Types | |
typedef std::set< std::pair < IFMapNode *, std::string > > | InEdgeSet |
Private Member Functions | |
const PropagateList * | GetPropagateList (const std::string &type, const std::string &metadata) const |
bool | IsInterestingEvent (const IFMapNode *node, const std::string &metadata) const |
void | PropagateNode (IFMapNode *node, InEdgeSet *in_edges) |
void | PropagateEdge (IFMapNode *node, const std::string &metadata, InEdgeSet *in_edges) |
void | AddChangeEvent (IFMapNode *node) |
Private Attributes | |
DB * | database_ |
DBGraph * | graph_ |
ChangeObserver | observer_ |
NodeEventPolicy | policy_ |
EdgeDescriptorList | edge_list_ |
NodeList | node_list_ |
Definition at line 76 of file ifmap_dependency_tracker.h.
typedef boost::function<void(IFMapNode *node)> IFMapDependencyTracker::ChangeObserver |
Definition at line 95 of file ifmap_dependency_tracker.h.
typedef std::list<EdgeDescriptor> IFMapDependencyTracker::EdgeDescriptorList |
Definition at line 87 of file ifmap_dependency_tracker.h.
|
private |
Definition at line 111 of file ifmap_dependency_tracker.h.
typedef std::map<std::string, ReactionMap> IFMapDependencyTracker::NodeEventPolicy |
Definition at line 93 of file ifmap_dependency_tracker.h.
typedef std::list<std::pair<std::string, std::string> > IFMapDependencyTracker::NodeList |
Definition at line 88 of file ifmap_dependency_tracker.h.
typedef std::set<std::string> IFMapDependencyTracker::PropagateList |
Definition at line 91 of file ifmap_dependency_tracker.h.
typedef std::map<std::string, PropagateList> IFMapDependencyTracker::ReactionMap |
Definition at line 92 of file ifmap_dependency_tracker.h.
IFMapDependencyTracker::IFMapDependencyTracker | ( | DB * | db, |
DBGraph * | graph, | ||
ChangeObserver | observer | ||
) |
Definition at line 17 of file ifmap_dependency_tracker.cc.
|
private |
Definition at line 225 of file ifmap_dependency_tracker.cc.
void IFMapDependencyTracker::Clear | ( | ) |
Definition at line 118 of file ifmap_dependency_tracker.cc.
|
inline |
Definition at line 108 of file ifmap_dependency_tracker.h.
|
private |
Definition at line 127 of file ifmap_dependency_tracker.cc.
|
private |
Definition at line 146 of file ifmap_dependency_tracker.cc.
bool IFMapDependencyTracker::LinkEvent | ( | const std::string | metadata, |
IFMapNode * | left, | ||
IFMapNode * | right | ||
) |
Definition at line 55 of file ifmap_dependency_tracker.cc.
|
inline |
Definition at line 107 of file ifmap_dependency_tracker.h.
void IFMapDependencyTracker::NodeEvent | ( | IFMapNode * | node | ) |
Definition at line 45 of file ifmap_dependency_tracker.cc.
void IFMapDependencyTracker::NodeEvent | ( | IFMapNode * | node, |
bool | add_node_event | ||
) |
Definition at line 29 of file ifmap_dependency_tracker.cc.
|
inline |
Definition at line 98 of file ifmap_dependency_tracker.h.
void IFMapDependencyTracker::PropagateChanges | ( | ) |
Definition at line 80 of file ifmap_dependency_tracker.cc.
|
private |
Definition at line 183 of file ifmap_dependency_tracker.cc.
Definition at line 159 of file ifmap_dependency_tracker.cc.
|
private |
Definition at line 123 of file ifmap_dependency_tracker.h.
|
private |
Definition at line 127 of file ifmap_dependency_tracker.h.
|
private |
Definition at line 124 of file ifmap_dependency_tracker.h.
|
private |
Definition at line 128 of file ifmap_dependency_tracker.h.
|
private |
Definition at line 125 of file ifmap_dependency_tracker.h.
|
private |
Definition at line 126 of file ifmap_dependency_tracker.h.