OpenSDN source code
VnUveTableBase Class Reference

#include <vn_uve_table_base.h>

Inheritance diagram for VnUveTableBase:
Collaboration diagram for VnUveTableBase:

Classes

struct  VnUveInterfaceState
 

Public Types

typedef boost::shared_ptr< VnUveEntryBaseVnUveEntryPtr
 
typedef std::map< std::string, VnUveEntryPtrUveVnMap
 
typedef std::pair< std::string, VnUveEntryPtrUveVnPair
 

Public Member Functions

 VnUveTableBase (Agent *agent, uint32_t default_intvl)
 
virtual ~VnUveTableBase ()
 
void RegisterDBClients ()
 
void Shutdown (void)
 
void SendVnAclRuleCount ()
 
bool TimerExpiry ()
 

Protected Member Functions

void Delete (const std::string &name)
 
VnUveEntryBaseUveEntryFromVn (const VnEntry *vn)
 
virtual void DispatchVnMsg (const UveVirtualNetworkAgent &uve)
 
virtual void SendVnAceStats (VnUveEntryBase *entry, const VnEntry *vn)
 

Protected Attributes

UveVnMap uve_vn_map_
 
Agentagent_
 
tbb::mutex uve_vn_map_mutex_
 

Private Member Functions

VnUveEntryBaseAdd (const VnEntry *vn)
 
void Add (const std::string &vn)
 
virtual VnUveEntryPtr Allocate (const VnEntry *vn)
 
virtual VnUveEntryPtr Allocate ()
 
void VnNotify (DBTablePartBase *partition, DBEntryBase *e)
 
void InterfaceNotify (DBTablePartBase *partition, DBEntryBase *e)
 
void SendDeleteVnMsg (const std::string &vn)
 
void MarkChanged (const VnEntry *vn)
 
void InterfaceDeleteHandler (const std::string &vm, const std::string &vn, const Interface *intf)
 
void InterfaceAddHandler (const VnEntry *vn, const Interface *intf, const std::string &vm_name, VnUveInterfaceState *state)
 
void set_expiry_time (int time)
 
void SendVnMsg (VnUveEntryBase *entry, const VnEntry *vn)
 
 DISALLOW_COPY_AND_ASSIGN (VnUveTableBase)
 

Private Attributes

DBTableBase::ListenerId vn_listener_id_
 
DBTableBase::ListenerId intf_listener_id_
 
std::string timer_last_visited_
 
Timertimer_
 
int expiry_time_
 

Detailed Description

Definition at line 19 of file vn_uve_table_base.h.

Member Typedef Documentation

◆ UveVnMap

typedef std::map<std::string, VnUveEntryPtr> VnUveTableBase::UveVnMap

Definition at line 30 of file vn_uve_table_base.h.

◆ UveVnPair

typedef std::pair<std::string, VnUveEntryPtr> VnUveTableBase::UveVnPair

Definition at line 31 of file vn_uve_table_base.h.

◆ VnUveEntryPtr

typedef boost::shared_ptr<VnUveEntryBase> VnUveTableBase::VnUveEntryPtr

Definition at line 29 of file vn_uve_table_base.h.

Constructor & Destructor Documentation

◆ VnUveTableBase()

VnUveTableBase::VnUveTableBase ( Agent agent,
uint32_t  default_intvl 
)

Definition at line 8 of file vn_uve_table_base.cc.

Here is the call graph for this function:

◆ ~VnUveTableBase()

VnUveTableBase::~VnUveTableBase ( )
virtual

Definition at line 22 of file vn_uve_table_base.cc.

Member Function Documentation

◆ Add() [1/2]

void VnUveTableBase::Add ( const std::string &  vn)
private

◆ Add() [2/2]

VnUveEntryBase * VnUveTableBase::Add ( const VnEntry vn)
private

Definition at line 156 of file vn_uve_table_base.cc.

Here is the call graph for this function:

◆ Allocate() [1/2]

VnUveTableBase::VnUveEntryPtr VnUveTableBase::Allocate ( )
privatevirtual

Reimplemented in VnUveTable.

Definition at line 180 of file vn_uve_table_base.cc.

◆ Allocate() [2/2]

VnUveTableBase::VnUveEntryPtr VnUveTableBase::Allocate ( const VnEntry vn)
privatevirtual

Reimplemented in VnUveTable.

Definition at line 175 of file vn_uve_table_base.cc.

◆ Delete()

void VnUveTableBase::Delete ( const std::string &  name)
protected

Definition at line 148 of file vn_uve_table_base.cc.

◆ DISALLOW_COPY_AND_ASSIGN()

VnUveTableBase::DISALLOW_COPY_AND_ASSIGN ( VnUveTableBase  )
private

◆ DispatchVnMsg()

void VnUveTableBase::DispatchVnMsg ( const UveVirtualNetworkAgent &  uve)
protectedvirtual

Definition at line 115 of file vn_uve_table_base.cc.

◆ InterfaceAddHandler()

void VnUveTableBase::InterfaceAddHandler ( const VnEntry vn,
const Interface intf,
const std::string &  vm_name,
VnUveInterfaceState state 
)
private

Definition at line 237 of file vn_uve_table_base.cc.

Here is the call graph for this function:

◆ InterfaceDeleteHandler()

void VnUveTableBase::InterfaceDeleteHandler ( const std::string &  vm,
const std::string &  vn,
const Interface intf 
)
private

Definition at line 216 of file vn_uve_table_base.cc.

Here is the call graph for this function:

◆ InterfaceNotify()

void VnUveTableBase::InterfaceNotify ( DBTablePartBase partition,
DBEntryBase e 
)
private

Definition at line 259 of file vn_uve_table_base.cc.

Here is the call graph for this function:

◆ MarkChanged()

void VnUveTableBase::MarkChanged ( const VnEntry vn)
private

Definition at line 131 of file vn_uve_table_base.cc.

Here is the call graph for this function:

◆ RegisterDBClients()

void VnUveTableBase::RegisterDBClients ( )

Definition at line 25 of file vn_uve_table_base.cc.

Here is the call graph for this function:

◆ SendDeleteVnMsg()

void VnUveTableBase::SendDeleteVnMsg ( const std::string &  vn)
private

Definition at line 141 of file vn_uve_table_base.cc.

Here is the call graph for this function:

◆ SendVnAceStats()

virtual void VnUveTableBase::SendVnAceStats ( VnUveEntryBase entry,
const VnEntry vn 
)
inlineprotectedvirtual

Reimplemented in VnUveTable.

Definition at line 45 of file vn_uve_table_base.h.

◆ SendVnAclRuleCount()

void VnUveTableBase::SendVnAclRuleCount ( )

Definition at line 301 of file vn_uve_table_base.cc.

Here is the call graph for this function:

◆ SendVnMsg()

void VnUveTableBase::SendVnMsg ( VnUveEntryBase entry,
const VnEntry vn 
)
private

Definition at line 105 of file vn_uve_table_base.cc.

Here is the call graph for this function:

◆ set_expiry_time()

void VnUveTableBase::set_expiry_time ( int  time)
private

Definition at line 98 of file vn_uve_table_base.cc.

Here is the call graph for this function:

◆ Shutdown()

void VnUveTableBase::Shutdown ( void  )

Definition at line 37 of file vn_uve_table_base.cc.

Here is the call graph for this function:

◆ TimerExpiry()

bool VnUveTableBase::TimerExpiry ( )

Definition at line 49 of file vn_uve_table_base.cc.

Here is the call graph for this function:

◆ UveEntryFromVn()

VnUveEntryBase * VnUveTableBase::UveEntryFromVn ( const VnEntry vn)
protected

Definition at line 119 of file vn_uve_table_base.cc.

Here is the call graph for this function:

◆ VnNotify()

void VnUveTableBase::VnNotify ( DBTablePartBase partition,
DBEntryBase e 
)
private

Definition at line 185 of file vn_uve_table_base.cc.

Here is the call graph for this function:

Member Data Documentation

◆ agent_

Agent* VnUveTableBase::agent_
protected

Definition at line 49 of file vn_uve_table_base.h.

◆ expiry_time_

int VnUveTableBase::expiry_time_
private

Definition at line 75 of file vn_uve_table_base.h.

◆ intf_listener_id_

DBTableBase::ListenerId VnUveTableBase::intf_listener_id_
private

Definition at line 70 of file vn_uve_table_base.h.

◆ timer_

Timer* VnUveTableBase::timer_
private

Definition at line 74 of file vn_uve_table_base.h.

◆ timer_last_visited_

std::string VnUveTableBase::timer_last_visited_
private

Definition at line 73 of file vn_uve_table_base.h.

◆ uve_vn_map_

UveVnMap VnUveTableBase::uve_vn_map_
protected

Definition at line 48 of file vn_uve_table_base.h.

◆ uve_vn_map_mutex_

tbb::mutex VnUveTableBase::uve_vn_map_mutex_
protected

Definition at line 51 of file vn_uve_table_base.h.

◆ vn_listener_id_

DBTableBase::ListenerId VnUveTableBase::vn_listener_id_
private

Definition at line 69 of file vn_uve_table_base.h.


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