OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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
*, ResolverRouteCompare
ResolverRouteSet
 

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

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

Definition at line 427 of file path_resolver.h.

Definition at line 422 of file path_resolver.h.

Constructor & Destructor Documentation

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

Definition at line 1141 of file path_resolver.cc.

ResolverNexthop::~ResolverNexthop ( )
virtual

Definition at line 1155 of file path_resolver.cc.

Member Function Documentation

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

Definition at line 1238 of file path_resolver.cc.

Here is the call graph for this function:

IpAddress ResolverNexthop::address ( ) const
inline

Definition at line 408 of file path_resolver.h.

ResolverNexthop::DISALLOW_COPY_AND_ASSIGN ( ResolverNexthop  )
private
bool ResolverNexthop::empty ( ) const

Definition at line 1295 of file path_resolver.cc.

Here is the call graph for this function:

ResolverRouteState * ResolverNexthop::GetResolverRouteState ( )

Definition at line 1266 of file path_resolver.cc.

Here is the call graph for this function:

const BgpRoute * ResolverNexthop::GetRoute ( ) const

Definition at line 1336 of file path_resolver.cc.

BgpRoute * ResolverNexthop::GetRoute ( )

Definition at line 1341 of file path_resolver.cc.

bool ResolverNexthop::InsertRoute ( BgpRoute route)

Definition at line 1320 of file path_resolver.cc.

void ResolverNexthop::ManagedDelete ( )
inline

Definition at line 406 of file path_resolver.h.

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

Implements ConditionMatch.

Definition at line 1169 of file path_resolver.cc.

Here is the call graph for this function:

bool ResolverNexthop::registered ( ) const
inline

Definition at line 415 of file path_resolver.h.

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

Definition at line 1258 of file path_resolver.cc.

Here is the call graph for this function:

bool ResolverNexthop::RemoveRoute ( BgpRoute route)

Definition at line 1329 of file path_resolver.cc.

void ResolverNexthop::set_registered ( )
inline

Definition at line 416 of file path_resolver.h.

BgpTable* ResolverNexthop::table ( ) const
inline

Definition at line 409 of file path_resolver.h.

string ResolverNexthop::ToString ( ) const
virtual

Implements ConditionMatch.

Definition at line 1162 of file path_resolver.cc.

void ResolverNexthop::TriggerAllResolverPaths ( ) const

Definition at line 1280 of file path_resolver.cc.

Here is the call graph for this function:

Member Data Documentation

IpAddress ResolverNexthop::address_
private

Definition at line 430 of file path_resolver.h.

bool ResolverNexthop::registered_
private

Definition at line 432 of file path_resolver.h.

PathResolver* ResolverNexthop::resolver_
private

Definition at line 429 of file path_resolver.h.

ResolverRouteSet ResolverNexthop::routes_
protected

Definition at line 424 of file path_resolver.h.

tbb::mutex ResolverNexthop::routes_mutex_
mutableprivate

Definition at line 433 of file path_resolver.h.

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

Definition at line 434 of file path_resolver.h.

BgpTable* ResolverNexthop::table_
private

Definition at line 431 of file path_resolver.h.

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: