OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PathResolverPartition Class Reference

#include <path_resolver.h>

Collaboration diagram for PathResolverPartition:

Public Member Functions

 PathResolverPartition (int part_id, PathResolver *resolver)
 
 ~PathResolverPartition ()
 
void StartPathResolution (BgpRoute *route, const BgpPath *path, BgpTable *nh_table)
 
void StopPathResolution (const BgpPath *path)
 
void TriggerPathResolution (ResolverPath *rpath)
 
void DeferPathResolution (ResolverPath *rpath)
 
int part_id () const
 
DBTableBase::ListenerId listener_id () const
 
PathResolverresolver () const
 
BgpTabletable () const
 
DBTablePartBasetable_partition ()
 

Private Types

typedef std::map< const
BgpPath *, ResolverPath * > 
PathToResolverPathMap
 
typedef std::set< ResolverPath * > ResolverPathList
 

Private Member Functions

ResolverPathCreateResolverPath (const BgpPath *path, BgpRoute *route, ResolverNexthop *rnexthop)
 
ResolverPathFindResolverPath (const BgpPath *path)
 
ResolverPathRemoveResolverPath (const BgpPath *path)
 
bool ProcessResolverPathUpdateList ()
 
void DisableResolverPathUpdateProcessing ()
 
void EnableResolverPathUpdateProcessing ()
 
void PauseResolverPathUpdateProcessing ()
 
void ResumeResolverPathUpdateProcessing ()
 
size_t GetResolverPathUpdateListSize () const
 
 DISALLOW_COPY_AND_ASSIGN (PathResolverPartition)
 

Private Attributes

int part_id_
 
PathResolverresolver_
 
PathToResolverPathMap rpath_map_
 
ResolverPathList rpath_update_list_
 
boost::scoped_ptr< TaskTriggerrpath_update_trigger_
 

Friends

class PathResolver
 

Detailed Description

Definition at line 198 of file path_resolver.h.

Member Typedef Documentation

Definition at line 221 of file path_resolver.h.

Definition at line 222 of file path_resolver.h.

Constructor & Destructor Documentation

PathResolverPartition::PathResolverPartition ( int  part_id,
PathResolver resolver 
)

Definition at line 628 of file path_resolver.cc.

PathResolverPartition::~PathResolverPartition ( )

Definition at line 644 of file path_resolver.cc.

Member Function Documentation

ResolverPath * PathResolverPartition::CreateResolverPath ( const BgpPath path,
BgpRoute route,
ResolverNexthop rnexthop 
)
private

Definition at line 722 of file path_resolver.cc.

void PathResolverPartition::DeferPathResolution ( ResolverPath rpath)

Definition at line 704 of file path_resolver.cc.

void PathResolverPartition::DisableResolverPathUpdateProcessing ( )
private

Definition at line 777 of file path_resolver.cc.

PathResolverPartition::DISALLOW_COPY_AND_ASSIGN ( PathResolverPartition  )
private
void PathResolverPartition::EnableResolverPathUpdateProcessing ( )
private

Definition at line 785 of file path_resolver.cc.

ResolverPath * PathResolverPartition::FindResolverPath ( const BgpPath path)
private

Definition at line 732 of file path_resolver.cc.

size_t PathResolverPartition::GetResolverPathUpdateListSize ( ) const
private

Definition at line 809 of file path_resolver.cc.

DBTableBase::ListenerId PathResolverPartition::listener_id ( ) const
inline

Definition at line 211 of file path_resolver.h.

Here is the call graph for this function:

int PathResolverPartition::part_id ( ) const
inline

Definition at line 210 of file path_resolver.h.

void PathResolverPartition::PauseResolverPathUpdateProcessing ( )
private

Definition at line 793 of file path_resolver.cc.

bool PathResolverPartition::ProcessResolverPathUpdateList ( )
private

Definition at line 758 of file path_resolver.cc.

Here is the call graph for this function:

ResolverPath * PathResolverPartition::RemoveResolverPath ( const BgpPath path)
private

Definition at line 743 of file path_resolver.cc.

Here is the call graph for this function:

PathResolver* PathResolverPartition::resolver ( ) const
inline

Definition at line 214 of file path_resolver.h.

void PathResolverPartition::ResumeResolverPathUpdateProcessing ( )
private

Definition at line 801 of file path_resolver.cc.

void PathResolverPartition::StartPathResolution ( BgpRoute route,
const BgpPath path,
BgpTable nh_table 
)

Definition at line 657 of file path_resolver.cc.

Here is the call graph for this function:

void PathResolverPartition::StopPathResolution ( const BgpPath path)

Definition at line 681 of file path_resolver.cc.

Here is the call graph for this function:

BgpTable* PathResolverPartition::table ( ) const
inline

Definition at line 215 of file path_resolver.h.

Here is the call graph for this function:

DBTablePartBase * PathResolverPartition::table_partition ( )

Definition at line 714 of file path_resolver.cc.

Here is the call graph for this function:

void PathResolverPartition::TriggerPathResolution ( ResolverPath rpath)

Definition at line 691 of file path_resolver.cc.

Friends And Related Function Documentation

friend class PathResolver
friend

Definition at line 219 of file path_resolver.h.

Member Data Documentation

int PathResolverPartition::part_id_
private

Definition at line 236 of file path_resolver.h.

PathResolver* PathResolverPartition::resolver_
private

Definition at line 237 of file path_resolver.h.

PathToResolverPathMap PathResolverPartition::rpath_map_
private

Definition at line 238 of file path_resolver.h.

ResolverPathList PathResolverPartition::rpath_update_list_
private

Definition at line 239 of file path_resolver.h.

boost::scoped_ptr<TaskTrigger> PathResolverPartition::rpath_update_trigger_
private

Definition at line 240 of file path_resolver.h.


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