OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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
< VnUveEntryBase
VnUveEntryPtr
 
typedef std::map< std::string,
VnUveEntryPtr
UveVnMap
 
typedef std::pair< std::string,
VnUveEntryPtr
UveVnPair
 

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

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

Definition at line 30 of file vn_uve_table_base.h.

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

Definition at line 31 of file vn_uve_table_base.h.

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

Definition at line 29 of file vn_uve_table_base.h.

Constructor & Destructor Documentation

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 ( )
virtual

Definition at line 22 of file vn_uve_table_base.cc.

Member Function Documentation

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:

void VnUveTableBase::Add ( const std::string &  vn)
private
VnUveTableBase::VnUveEntryPtr VnUveTableBase::Allocate ( const VnEntry vn)
privatevirtual

Reimplemented in VnUveTable.

Definition at line 175 of file vn_uve_table_base.cc.

VnUveTableBase::VnUveEntryPtr VnUveTableBase::Allocate ( )
privatevirtual

Reimplemented in VnUveTable.

Definition at line 180 of file vn_uve_table_base.cc.

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

Definition at line 148 of file vn_uve_table_base.cc.

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

Definition at line 115 of file vn_uve_table_base.cc.

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:

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:

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:

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:

void VnUveTableBase::RegisterDBClients ( )

Definition at line 25 of file vn_uve_table_base.cc.

Here is the call graph for this function:

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:

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

Reimplemented in VnUveTable.

Definition at line 45 of file vn_uve_table_base.h.

void VnUveTableBase::SendVnAclRuleCount ( )

Definition at line 301 of file vn_uve_table_base.cc.

Here is the call graph for this function:

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:

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:

void VnUveTableBase::Shutdown ( void  )

Definition at line 37 of file vn_uve_table_base.cc.

Here is the call graph for this function:

bool VnUveTableBase::TimerExpiry ( )

Definition at line 49 of file vn_uve_table_base.cc.

Here is the call graph for this function:

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:

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* VnUveTableBase::agent_
protected

Definition at line 49 of file vn_uve_table_base.h.

int VnUveTableBase::expiry_time_
private

Definition at line 75 of file vn_uve_table_base.h.

DBTableBase::ListenerId VnUveTableBase::intf_listener_id_
private

Definition at line 70 of file vn_uve_table_base.h.

Timer* VnUveTableBase::timer_
private

Definition at line 74 of file vn_uve_table_base.h.

std::string VnUveTableBase::timer_last_visited_
private

Definition at line 73 of file vn_uve_table_base.h.

UveVnMap VnUveTableBase::uve_vn_map_
protected

Definition at line 48 of file vn_uve_table_base.h.

tbb::mutex VnUveTableBase::uve_vn_map_mutex_
protected

Definition at line 51 of file vn_uve_table_base.h.

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: