OpenSDN source code
ResolverNexthop Class Reference

#include <path_resolver.h>

Inheritance diagram for ResolverNexthop:
Collaboration diagram for ResolverNexthop:

Classes

struct  ResolverRouteCompare
 

Public Member Functions

 ResolverNexthop (PathResolver *resolver, IpAddress address, BgpTable *table)
 
virtual ~ResolverNexthop ()
 
virtual std::string ToString () const
 
virtual bool Match (BgpServer *server, BgpTable *table, BgpRoute *route, bool deleted)
 
void AddResolverPath (int part_id, ResolverPath *rpath)
 
void RemoveResolverPath (int part_id, ResolverPath *rpath)
 
ResolverRouteStateGetResolverRouteState ()
 
void TriggerAllResolverPaths () const
 
void ManagedDelete ()
 
IpAddress address () const
 
BgpTabletable () const
 
bool InsertRoute (BgpRoute *route)
 
bool RemoveRoute (BgpRoute *route)
 
const BgpRouteGetRoute () const
 
BgpRouteGetRoute ()
 
bool empty () const
 
bool registered () const
 
void set_registered ()
 
- Public Member Functions inherited from ConditionMatch
 ConditionMatch ()
 
virtual ~ConditionMatch ()
 
bool deleted () const
 
void IncrementNumMatchstate ()
 
void DecrementNumMatchstate ()
 
uint32_t num_matchstate () const
 

Protected Types

typedef std::set< BgpRoute *, ResolverRouteCompareResolverRouteSet
 

Protected Attributes

ResolverRouteSet routes_
 

Private Types

typedef std::set< ResolverPath * > ResolverPathList
 

Private Member Functions

 DISALLOW_COPY_AND_ASSIGN (ResolverNexthop)
 

Private Attributes

PathResolverresolver_
 
IpAddress address_
 
BgpTabletable_
 
bool registered_
 
tbb::mutex routes_mutex_
 
std::vector< ResolverPathListrpath_lists_
 
LifetimeRef< ResolverNexthoptable_delete_ref_
 

Detailed Description

Definition at line 392 of file path_resolver.h.

Member Typedef Documentation

◆ ResolverPathList

typedef std::set<ResolverPath *> ResolverNexthop::ResolverPathList
private

Definition at line 427 of file path_resolver.h.

◆ ResolverRouteSet

Definition at line 422 of file path_resolver.h.

Constructor & Destructor Documentation

◆ ResolverNexthop()

ResolverNexthop::ResolverNexthop ( PathResolver resolver,
IpAddress  address,
BgpTable table 
)

Definition at line 1183 of file path_resolver.cc.

◆ ~ResolverNexthop()

ResolverNexthop::~ResolverNexthop ( )
virtual

Definition at line 1197 of file path_resolver.cc.

Member Function Documentation

◆ AddResolverPath()

void ResolverNexthop::AddResolverPath ( int  part_id,
ResolverPath rpath 
)

Definition at line 1280 of file path_resolver.cc.

Here is the call graph for this function:

◆ address()

IpAddress ResolverNexthop::address ( ) const
inline

Definition at line 408 of file path_resolver.h.

◆ DISALLOW_COPY_AND_ASSIGN()

ResolverNexthop::DISALLOW_COPY_AND_ASSIGN ( ResolverNexthop  )
private

◆ empty()

bool ResolverNexthop::empty ( ) const

Definition at line 1337 of file path_resolver.cc.

Here is the call graph for this function:

◆ GetResolverRouteState()

ResolverRouteState * ResolverNexthop::GetResolverRouteState ( )

Definition at line 1308 of file path_resolver.cc.

Here is the call graph for this function:

◆ GetRoute() [1/2]

BgpRoute * ResolverNexthop::GetRoute ( )

Definition at line 1395 of file path_resolver.cc.

◆ GetRoute() [2/2]

const BgpRoute * ResolverNexthop::GetRoute ( ) const

Definition at line 1390 of file path_resolver.cc.

◆ InsertRoute()

bool ResolverNexthop::InsertRoute ( BgpRoute route)

Definition at line 1374 of file path_resolver.cc.

◆ ManagedDelete()

void ResolverNexthop::ManagedDelete ( )
inline

Definition at line 406 of file path_resolver.h.

◆ Match()

bool ResolverNexthop::Match ( BgpServer server,
BgpTable table,
BgpRoute route,
bool  deleted 
)
virtual

Implements ConditionMatch.

Definition at line 1211 of file path_resolver.cc.

Here is the call graph for this function:

◆ registered()

bool ResolverNexthop::registered ( ) const
inline

Definition at line 415 of file path_resolver.h.

◆ RemoveResolverPath()

void ResolverNexthop::RemoveResolverPath ( int  part_id,
ResolverPath rpath 
)

Definition at line 1300 of file path_resolver.cc.

Here is the call graph for this function:

◆ RemoveRoute()

bool ResolverNexthop::RemoveRoute ( BgpRoute route)

Definition at line 1383 of file path_resolver.cc.

◆ set_registered()

void ResolverNexthop::set_registered ( )
inline

Definition at line 416 of file path_resolver.h.

◆ table()

BgpTable* ResolverNexthop::table ( ) const
inline

Definition at line 409 of file path_resolver.h.

◆ ToString()

string ResolverNexthop::ToString ( ) const
virtual

Implements ConditionMatch.

Definition at line 1204 of file path_resolver.cc.

◆ TriggerAllResolverPaths()

void ResolverNexthop::TriggerAllResolverPaths ( ) const

Definition at line 1322 of file path_resolver.cc.

Here is the call graph for this function:

Member Data Documentation

◆ address_

IpAddress ResolverNexthop::address_
private

Definition at line 430 of file path_resolver.h.

◆ registered_

bool ResolverNexthop::registered_
private

Definition at line 432 of file path_resolver.h.

◆ resolver_

PathResolver* ResolverNexthop::resolver_
private

Definition at line 429 of file path_resolver.h.

◆ routes_

ResolverRouteSet ResolverNexthop::routes_
protected

Definition at line 424 of file path_resolver.h.

◆ routes_mutex_

tbb::mutex ResolverNexthop::routes_mutex_
mutableprivate

Definition at line 433 of file path_resolver.h.

◆ rpath_lists_

std::vector<ResolverPathList> ResolverNexthop::rpath_lists_
private

Definition at line 434 of file path_resolver.h.

◆ table_

BgpTable* ResolverNexthop::table_
private

Definition at line 431 of file path_resolver.h.

◆ table_delete_ref_

LifetimeRef<ResolverNexthop> ResolverNexthop::table_delete_ref_
private

Definition at line 435 of file path_resolver.h.


The documentation for this class was generated from the following files: