|
OpenSDN source code
|
#include <agent_route_walker.h>


Public Types | |
| typedef boost::function< void()> | WalkDone |
| typedef boost::function< void(VrfEntry *)> | RouteWalkDoneCb |
| typedef std::map< const VrfEntry *, tbb::atomic< int > > | VrfRouteWalkCountMap |
Public Member Functions | |
| virtual | ~AgentRouteWalker () |
| void | StartVrfWalk () |
| void | StartRouteWalk (VrfEntry *vrf) |
| virtual bool | VrfWalkNotify (DBTablePartBase *partition, DBEntryBase *e) |
| virtual bool | RouteWalkNotify (DBTablePartBase *partition, DBEntryBase *e) |
| virtual void | VrfWalkDone (DBTableBase *part) |
| virtual void | RouteWalkDone (DBTableBase *part) |
| void | WalkDoneCallback (WalkDone cb) |
| void | RouteWalkDoneForVrfCallback (RouteWalkDoneCb cb) |
| int | walk_count () const |
| bool | IsWalkCompleted () const |
| bool | IsValidDeleteWalkRef () const |
| bool | IsValidVrfWalkRef () const |
| bool | IsDeregisterDone () const |
| bool | AreAllWalksDone () const |
| bool | AreAllRouteWalksDone (const VrfEntry *vrf) const |
| bool | IsRouteTableWalkCompleted (RouteWalkerDBState *state) |
| AgentRouteWalkerManager * | mgr () |
| Agent * | agent () const |
| uint32_t | refcount () const |
Static Public Attributes | |
| static const int | kInvalidWalkCount = 0 |
Protected Member Functions | |
| AgentRouteWalker (const std::string &name, Agent *agent) | |
| void | set_mgr (AgentRouteWalkerManager *mgr) |
Private Member Functions | |
| void | Callback (VrfEntry *vrf) |
| void | OnRouteTableWalkCompleteForVrf (VrfEntry *vrf) |
| void | DecrementWalkCount () |
| void | DecrementRouteWalkCount (const VrfEntry *vrf) |
| void | IncrementWalkCount () |
| void | IncrementRouteWalkCount (const VrfEntry *vrf) |
| void | WalkTable (AgentRouteTable *table, DBTable::DBTableWalkRef &route_table_walk_ref) |
| DBTable::DBTableWalkRef | AllocateRouteTableReferences (AgentRouteTable *table) |
| void | VrfWalkDoneInternal (DBTableBase *part) |
| void | RouteWalkDoneInternal (DBTableBase *part, AgentRouteWalkerPtr ptr) |
| DBTable::DBTableWalkRef | LocateRouteTableWalkRef (const VrfEntry *vrf, RouteWalkerDBState *state, AgentRouteTable *table) |
| RouteWalkerDBState * | LocateRouteWalkerDBState (VrfEntry *vrf) |
| DBTable::DBTableWalkRef & | vrf_walk_ref () |
| DBTable::DBTableWalkRef & | delete_walk_ref () |
| void | ReleaseVrfWalkReference () |
| bool | Deregister (DBTablePartBase *partition, DBEntryBase *e) |
| DISALLOW_COPY_AND_ASSIGN (AgentRouteWalker) | |
Static Private Member Functions | |
| static void | DeregisterDone (AgentRouteWalkerPtr walker) |
Private Attributes | |
| Agent * | agent_ |
| std::string | name_ |
| VrfRouteWalkCountMap | route_walk_count_ |
| tbb::atomic< int > | walk_count_ |
| WalkDone | walk_done_cb_ |
| RouteWalkDoneCb | route_walk_done_for_vrf_cb_ |
| DBTable::DBTableWalkRef | vrf_walk_ref_ |
| AgentRouteWalkerManager * | mgr_ |
| bool | deregister_done_ |
| DBTable::DBTableWalkRef | delete_walk_ref_ |
| tbb::atomic< uint32_t > | refcount_ |
Friends | |
| class | AgentRouteWalkerManager |
| void | intrusive_ptr_add_ref (AgentRouteWalker *w) |
| void | intrusive_ptr_release (AgentRouteWalker *w) |
Definition at line 92 of file agent_route_walker.h.
| typedef boost::function<void(VrfEntry *)> AgentRouteWalker::RouteWalkDoneCb |
Definition at line 96 of file agent_route_walker.h.
| typedef std::map<const VrfEntry *, tbb::atomic<int> > AgentRouteWalker::VrfRouteWalkCountMap |
Definition at line 97 of file agent_route_walker.h.
| typedef boost::function<void()> AgentRouteWalker::WalkDone |
Definition at line 95 of file agent_route_walker.h.
|
virtual |
Definition at line 139 of file agent_route_walker.cc.
|
protected |
|
inline |
Definition at line 129 of file agent_route_walker.h.
|
private |
| bool AgentRouteWalker::AreAllRouteWalksDone | ( | const VrfEntry * | vrf | ) | const |
Definition at line 386 of file agent_route_walker.cc.
| bool AgentRouteWalker::AreAllWalksDone | ( | ) | const |
Definition at line 382 of file agent_route_walker.cc.
|
private |
|
private |
Definition at line 317 of file agent_route_walker.cc.
|
private |
Definition at line 312 of file agent_route_walker.cc.
|
inlineprivate |
Definition at line 158 of file agent_route_walker.h.
|
private |
|
staticprivate |
|
private |
|
private |
Definition at line 326 of file agent_route_walker.cc.
|
inlineprivate |
Definition at line 144 of file agent_route_walker.h.
|
inline |
Definition at line 124 of file agent_route_walker.h.
| bool AgentRouteWalker::IsRouteTableWalkCompleted | ( | RouteWalkerDBState * | state | ) |
Definition at line 348 of file agent_route_walker.cc.
|
inline |
Definition at line 118 of file agent_route_walker.h.
|
inline |
Definition at line 121 of file agent_route_walker.h.
|
inline |
Definition at line 117 of file agent_route_walker.h.
|
private |
|
private |
|
inline |
Definition at line 128 of file agent_route_walker.h.
|
private |
|
inline |
Definition at line 130 of file agent_route_walker.h.
|
private |
|
virtual |
Definition at line 291 of file agent_route_walker.cc.
| void AgentRouteWalker::RouteWalkDoneForVrfCallback | ( | RouteWalkDoneCb | cb | ) |
Definition at line 400 of file agent_route_walker.cc.
|
private |
|
virtual |
Reimplemented in KSyncRouteWalker, VxlanRoutingRouteWalker, RouteDeleteWalker, VrfDeleteWalker, TsnElectorWalker, MulticastTEWalker, AgentRouteResync, and ControllerRouteWalker.
Definition at line 286 of file agent_route_walker.cc.
|
inlineprotected |
| void AgentRouteWalker::StartRouteWalk | ( | VrfEntry * | vrf | ) |
| void AgentRouteWalker::StartVrfWalk | ( | ) |
|
inlineprivate |
Definition at line 155 of file agent_route_walker.h.
|
virtual |
Definition at line 280 of file agent_route_walker.cc.
|
private |
|
virtual |
Reimplemented in VrfDeleteWalker, HBFVrfWalker, and ControllerRouteWalker.
Definition at line 249 of file agent_route_walker.cc.

|
inline |
Definition at line 116 of file agent_route_walker.h.
| void AgentRouteWalker::WalkDoneCallback | ( | WalkDone | cb | ) |
Definition at line 392 of file agent_route_walker.cc.
|
private |
|
friend |
Definition at line 133 of file agent_route_walker.h.
|
friend |
Definition at line 463 of file agent_route_walker.cc.
|
friend |
Definition at line 467 of file agent_route_walker.cc.
|
private |
Definition at line 166 of file agent_route_walker.h.
|
private |
Definition at line 175 of file agent_route_walker.h.
|
private |
Definition at line 174 of file agent_route_walker.h.
|
static |
Definition at line 94 of file agent_route_walker.h.
|
private |
Definition at line 173 of file agent_route_walker.h.
|
private |
Definition at line 167 of file agent_route_walker.h.
|
mutableprivate |
Definition at line 176 of file agent_route_walker.h.
|
private |
Definition at line 168 of file agent_route_walker.h.
|
private |
Definition at line 171 of file agent_route_walker.h.
|
private |
Definition at line 172 of file agent_route_walker.h.
|
private |
Definition at line 169 of file agent_route_walker.h.
|
private |
Definition at line 170 of file agent_route_walker.h.