OpenSDN source code
|
#include <ifmap_graph_walker.h>
Public Types | |
typedef std::set< IFMapState * > | ReachableNodesSet |
typedef ReachableNodesSet::const_iterator | Rns_citer |
typedef std::vector < ReachableNodesSet * > | ReachableNodesTracker |
Public Member Functions | |
IFMapGraphWalker (DBGraph *graph, IFMapExporter *exporter) | |
~IFMapGraphWalker () | |
void | LinkAdd (IFMapLink *link, IFMapNode *lnode, const BitSet &lhs, IFMapNode *rnode, const BitSet &rhs) |
void | LinkRemove (const BitSet &bset) |
bool | FilterNeighbor (IFMapNode *lnode, IFMapLink *link) |
const IFMapTypenameWhiteList & | get_traversal_white_list () const |
void | ResetLinkDeleteClients (const BitSet &bset) |
Private Member Functions | |
void | ProcessLinkAdd (IFMapNode *lnode, IFMapNode *rnode, const BitSet &bset) |
void | JoinVertex (DBGraphVertex *vertex, const BitSet &bset) |
void | NotifyEdge (DBGraphEdge *edge, const BitSet &bset) |
void | RecomputeInterest (DBGraphVertex *vertex, int bit) |
void | CleanupInterest (int client_index, IFMapNode *node, IFMapNodeState *state) |
void | AddNodesToWhitelist () |
void | AddLinksToWhitelist () |
bool | LinkDeleteWalk () |
void | LinkDeleteWalkBatchEnd (const BitSet &done_set) |
void | OrLinkDeleteClients (const BitSet &bset) |
void | AddNewReachableNodesTracker (int client_index) |
void | DeleteNewReachableNodesTracker (int client_index) |
void | UpdateNewReachableNodesTracker (int client_index, IFMapState *state) |
void | OldReachableNodesCleanupInterest (int client_index) |
void | NewReachableNodesCleanupInterest (int client_index) |
Private Attributes | |
DBGraph * | graph_ |
IFMapExporter * | exporter_ |
boost::scoped_ptr< TaskTrigger > | link_delete_walk_trigger_ |
std::unique_ptr < IFMapTypenameWhiteList > | traversal_white_list_ |
BitSet | link_delete_clients_ |
size_t | walk_client_index_ |
ReachableNodesTracker | new_reachable_nodes_tracker_ |
Static Private Attributes | |
static const int | kMaxLinkDeleteWalks = 1 |
Definition at line 23 of file ifmap_graph_walker.h.
typedef std::set<IFMapState *> IFMapGraphWalker::ReachableNodesSet |
Definition at line 25 of file ifmap_graph_walker.h.
typedef std::vector<ReachableNodesSet *> IFMapGraphWalker::ReachableNodesTracker |
Definition at line 27 of file ifmap_graph_walker.h.
typedef ReachableNodesSet::const_iterator IFMapGraphWalker::Rns_citer |
Definition at line 26 of file ifmap_graph_walker.h.
IFMapGraphWalker::IFMapGraphWalker | ( | DBGraph * | graph, |
IFMapExporter * | exporter | ||
) |
IFMapGraphWalker::~IFMapGraphWalker | ( | ) |
Definition at line 83 of file ifmap_graph_walker.cc.
|
private |
|
private |
Definition at line 313 of file ifmap_graph_walker.cc.
|
private |
Definition at line 349 of file ifmap_graph_walker.cc.
|
private |
|
private |
Definition at line 322 of file ifmap_graph_walker.cc.
const IFMapTypenameWhiteList & IFMapGraphWalker::get_traversal_white_list | ( | ) | const |
Definition at line 341 of file ifmap_graph_walker.cc.
|
private |
|
private |
|
private |
void IFMapGraphWalker::LinkRemove | ( | const BitSet & | bset | ) |
|
private |
|
private |
|
private |
|
private |
|
private |
void IFMapGraphWalker::ResetLinkDeleteClients | ( | const BitSet & | bset | ) |
|
private |
|
private |
Definition at line 64 of file ifmap_graph_walker.h.
|
private |
Definition at line 63 of file ifmap_graph_walker.h.
|
staticprivate |
Definition at line 44 of file ifmap_graph_walker.h.
|
private |
Definition at line 67 of file ifmap_graph_walker.h.
|
private |
Definition at line 65 of file ifmap_graph_walker.h.
|
private |
Definition at line 69 of file ifmap_graph_walker.h.
|
private |
Definition at line 66 of file ifmap_graph_walker.h.
|
private |
Definition at line 68 of file ifmap_graph_walker.h.