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

#include <bgp_multicast.h>

Collaboration diagram for McastTreeManager:

Classes

class  DeleteActor
 

Public Types

enum  NodeLevel { LevelFirst = 0, LevelNative = 0, LevelLocal = 1, LevelCount = 2 }
 
typedef std::vector
< McastManagerPartition * > 
PartitionList
 
typedef
PartitionList::const_iterator 
const_iterator
 

Public Member Functions

 McastTreeManager (ErmVpnTable *table)
 
virtual ~McastTreeManager ()
 
const_iterator begin () const
 
const_iterator end () const
 
virtual void Initialize ()
 
virtual void Terminate ()
 
McastManagerPartitionGetPartition (int part_id)
 
const McastManagerPartitionGetPartition (int part_id) const
 
virtual UpdateInfoGetUpdateInfo (ErmVpnRoute *route)
 
DBTablePartBaseGetTablePartition (size_t part_id)
 
ErmVpnTabletable ()
 
const ErmVpnTabletable () const
 
void ManagedDelete ()
 
void Shutdown ()
 
bool MayDelete () const
 
void RetryDelete ()
 
LifetimeActordeleter ()
 
const LifetimeActordeleter () const
 
bool deleted () const
 
const ErmVpnRouteGetGlobalErmVpnTreeMvpnRoute () const
 
virtual ErmVpnRouteGetGlobalTreeRootRoute (const Ip4Address &source, const Ip4Address &group) const
 
void NotifyForestNode (int part_id, const Ip4Address &source, const Ip4Address &group)
 
virtual bool GetForestNodePMSI (ErmVpnRoute *rt, uint32_t *label, Ip4Address *address, std::vector< std::string > *encap) const
 

Static Public Attributes

static const int kDegree = 4
 

Private Member Functions

void AllocPartitions ()
 
void FreePartitions ()
 
void TreeNodeListener (McastManagerPartition *partition, ErmVpnRoute *route)
 
void TreeResultListener (McastManagerPartition *partition, ErmVpnRoute *route)
 
void RouteListener (DBTablePartBase *tpart, DBEntryBase *db_entry)
 
 DISALLOW_COPY_AND_ASSIGN (McastTreeManager)
 

Private Attributes

ErmVpnTabletable_
 
int listener_id_
 
PartitionList partitions_
 
boost::scoped_ptr< DeleteActordeleter_
 
LifetimeRef< McastTreeManagertable_delete_ref_
 

Friends

class BgpMulticastTest
 
class ShowMulticastManagerDetailHandler
 

Detailed Description

Definition at line 384 of file bgp_multicast.h.

Member Typedef Documentation

typedef PartitionList::const_iterator McastTreeManager::const_iterator

Definition at line 389 of file bgp_multicast.h.

Definition at line 388 of file bgp_multicast.h.

Member Enumeration Documentation

Enumerator
LevelFirst 
LevelNative 
LevelLocal 
LevelCount 

Definition at line 391 of file bgp_multicast.h.

Constructor & Destructor Documentation

McastTreeManager::McastTreeManager ( ErmVpnTable table)
explicit

Definition at line 871 of file bgp_multicast.cc.

McastTreeManager::~McastTreeManager ( )
virtual

Definition at line 881 of file bgp_multicast.cc.

Member Function Documentation

void McastTreeManager::AllocPartitions ( )
private

Definition at line 907 of file bgp_multicast.cc.

Here is the call graph for this function:

const_iterator McastTreeManager::begin ( ) const
inline

Definition at line 401 of file bgp_multicast.h.

bool McastTreeManager::deleted ( ) const

Definition at line 1123 of file bgp_multicast.cc.

LifetimeActor * McastTreeManager::deleter ( )

Definition at line 1108 of file bgp_multicast.cc.

const LifetimeActor * McastTreeManager::deleter ( ) const

Definition at line 1116 of file bgp_multicast.cc.

McastTreeManager::DISALLOW_COPY_AND_ASSIGN ( McastTreeManager  )
private
const_iterator McastTreeManager::end ( ) const
inline

Definition at line 402 of file bgp_multicast.h.

void McastTreeManager::FreePartitions ( )
private

Definition at line 916 of file bgp_multicast.cc.

bool McastTreeManager::GetForestNodePMSI ( ErmVpnRoute rt,
uint32_t *  label,
Ip4Address address,
std::vector< std::string > *  encap 
) const
virtual

Definition at line 1139 of file bgp_multicast.cc.

Here is the call graph for this function:

const ErmVpnRoute* McastTreeManager::GetGlobalErmVpnTreeMvpnRoute ( ) const
ErmVpnRoute * McastTreeManager::GetGlobalTreeRootRoute ( const Ip4Address source,
const Ip4Address group 
) const
virtual

Definition at line 1127 of file bgp_multicast.cc.

Here is the call graph for this function:

McastManagerPartition * McastTreeManager::GetPartition ( int  part_id)

Definition at line 923 of file bgp_multicast.cc.

const McastManagerPartition * McastTreeManager::GetPartition ( int  part_id) const

Definition at line 927 of file bgp_multicast.cc.

DBTablePartBase * McastTreeManager::GetTablePartition ( size_t  part_id)

Definition at line 934 of file bgp_multicast.cc.

Here is the call graph for this function:

UpdateInfo * McastTreeManager::GetUpdateInfo ( ErmVpnRoute route)
virtual

Definition at line 942 of file bgp_multicast.cc.

Here is the call graph for this function:

void McastTreeManager::Initialize ( )
virtual

Definition at line 888 of file bgp_multicast.cc.

Here is the call graph for this function:

void McastTreeManager::ManagedDelete ( )

Definition at line 1092 of file bgp_multicast.cc.

bool McastTreeManager::MayDelete ( ) const

Definition at line 1069 of file bgp_multicast.cc.

void McastTreeManager::NotifyForestNode ( int  part_id,
const Ip4Address source,
const Ip4Address group 
)

Definition at line 1133 of file bgp_multicast.cc.

Here is the call graph for this function:

void McastTreeManager::RetryDelete ( )

Definition at line 1099 of file bgp_multicast.cc.

Here is the call graph for this function:

void McastTreeManager::RouteListener ( DBTablePartBase tpart,
DBEntryBase db_entry 
)
private

Definition at line 1051 of file bgp_multicast.cc.

Here is the call graph for this function:

void McastTreeManager::Shutdown ( )

Definition at line 1084 of file bgp_multicast.cc.

ErmVpnTable* McastTreeManager::table ( )
inline

Definition at line 412 of file bgp_multicast.h.

const ErmVpnTable* McastTreeManager::table ( ) const
inline

Definition at line 413 of file bgp_multicast.h.

void McastTreeManager::Terminate ( )
virtual

Definition at line 899 of file bgp_multicast.cc.

Here is the call graph for this function:

void McastTreeManager::TreeNodeListener ( McastManagerPartition partition,
ErmVpnRoute route 
)
private

Definition at line 962 of file bgp_multicast.cc.

Here is the call graph for this function:

void McastTreeManager::TreeResultListener ( McastManagerPartition partition,
ErmVpnRoute route 
)
private

Definition at line 1011 of file bgp_multicast.cc.

Here is the call graph for this function:

Friends And Related Function Documentation

friend class BgpMulticastTest
friend

Definition at line 432 of file bgp_multicast.h.

friend class ShowMulticastManagerDetailHandler
friend

Definition at line 433 of file bgp_multicast.h.

Member Data Documentation

boost::scoped_ptr<DeleteActor> McastTreeManager::deleter_
private

Definition at line 449 of file bgp_multicast.h.

const int McastTreeManager::kDegree = 4
static

Definition at line 386 of file bgp_multicast.h.

int McastTreeManager::listener_id_
private

Definition at line 446 of file bgp_multicast.h.

PartitionList McastTreeManager::partitions_
private

Definition at line 447 of file bgp_multicast.h.

ErmVpnTable* McastTreeManager::table_
private

Definition at line 445 of file bgp_multicast.h.

LifetimeRef<McastTreeManager> McastTreeManager::table_delete_ref_
private

Definition at line 450 of file bgp_multicast.h.


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