|
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.