OpenSDN source code
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

◆ PathToResolverPathMap

Definition at line 221 of file path_resolver.h.

◆ ResolverPathList

Definition at line 222 of file path_resolver.h.

Constructor & Destructor Documentation

◆ PathResolverPartition()

PathResolverPartition::PathResolverPartition ( int  part_id,
PathResolver resolver 
)

Definition at line 658 of file path_resolver.cc.

◆ ~PathResolverPartition()

PathResolverPartition::~PathResolverPartition ( )

Definition at line 674 of file path_resolver.cc.

Member Function Documentation

◆ CreateResolverPath()

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

Definition at line 757 of file path_resolver.cc.

◆ DeferPathResolution()

void PathResolverPartition::DeferPathResolution ( ResolverPath rpath)

Definition at line 739 of file path_resolver.cc.

◆ DisableResolverPathUpdateProcessing()

void PathResolverPartition::DisableResolverPathUpdateProcessing ( )
private

Definition at line 812 of file path_resolver.cc.

◆ DISALLOW_COPY_AND_ASSIGN()

PathResolverPartition::DISALLOW_COPY_AND_ASSIGN ( PathResolverPartition  )
private

◆ EnableResolverPathUpdateProcessing()

void PathResolverPartition::EnableResolverPathUpdateProcessing ( )
private

Definition at line 820 of file path_resolver.cc.

◆ FindResolverPath()

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

Definition at line 767 of file path_resolver.cc.

◆ GetResolverPathUpdateListSize()

size_t PathResolverPartition::GetResolverPathUpdateListSize ( ) const
private

Definition at line 844 of file path_resolver.cc.

◆ listener_id()

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

Definition at line 211 of file path_resolver.h.

Here is the call graph for this function:

◆ part_id()

int PathResolverPartition::part_id ( ) const
inline

Definition at line 210 of file path_resolver.h.

◆ PauseResolverPathUpdateProcessing()

void PathResolverPartition::PauseResolverPathUpdateProcessing ( )
private

Definition at line 828 of file path_resolver.cc.

◆ ProcessResolverPathUpdateList()

bool PathResolverPartition::ProcessResolverPathUpdateList ( )
private

Definition at line 793 of file path_resolver.cc.

Here is the call graph for this function:

◆ RemoveResolverPath()

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

Definition at line 778 of file path_resolver.cc.

Here is the call graph for this function:

◆ resolver()

PathResolver* PathResolverPartition::resolver ( ) const
inline

Definition at line 214 of file path_resolver.h.

◆ ResumeResolverPathUpdateProcessing()

void PathResolverPartition::ResumeResolverPathUpdateProcessing ( )
private

Definition at line 836 of file path_resolver.cc.

◆ StartPathResolution()

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

Definition at line 687 of file path_resolver.cc.

Here is the call graph for this function:

◆ StopPathResolution()

void PathResolverPartition::StopPathResolution ( const BgpPath path)

Definition at line 716 of file path_resolver.cc.

Here is the call graph for this function:

◆ table()

BgpTable* PathResolverPartition::table ( ) const
inline

Definition at line 215 of file path_resolver.h.

Here is the call graph for this function:

◆ table_partition()

DBTablePartBase * PathResolverPartition::table_partition ( )

Definition at line 749 of file path_resolver.cc.

Here is the call graph for this function:

◆ TriggerPathResolution()

void PathResolverPartition::TriggerPathResolution ( ResolverPath rpath)

Definition at line 726 of file path_resolver.cc.

Friends And Related Function Documentation

◆ PathResolver

friend class PathResolver
friend

Definition at line 219 of file path_resolver.h.

Member Data Documentation

◆ part_id_

int PathResolverPartition::part_id_
private

Definition at line 236 of file path_resolver.h.

◆ resolver_

PathResolver* PathResolverPartition::resolver_
private

Definition at line 237 of file path_resolver.h.

◆ rpath_map_

PathToResolverPathMap PathResolverPartition::rpath_map_
private

Definition at line 238 of file path_resolver.h.

◆ rpath_update_list_

ResolverPathList PathResolverPartition::rpath_update_list_
private

Definition at line 239 of file path_resolver.h.

◆ rpath_update_trigger_

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: