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

#include <vm_uve_table_base.h>

Inheritance diagram for VmUveTableBase:
Collaboration diagram for VmUveTableBase:

Classes

struct  VmUveInterfaceState
 
class  VmUveVmState
 

Public Types

typedef boost::shared_ptr
< VmUveEntryBase
VmUveEntryPtr
 
typedef std::map< const
boost::uuids::uuid,
VmUveEntryPtr
UveVmMap
 
typedef std::pair< const
boost::uuids::uuid,
VmUveEntryPtr
UveVmPair
 

Public Member Functions

 VmUveTableBase (Agent *agent, uint32_t default_intvl)
 
virtual ~VmUveTableBase ()
 
void RegisterDBClients ()
 
void Shutdown (void)
 
virtual void DispatchVmMsg (const UveVirtualMachineAgent &uve)
 
bool TimerExpiry ()
 

Protected Member Functions

virtual void VmStatCollectionStart (VmUveVmState *state, const VmEntry *vm)
 
virtual void VmStatCollectionStop (VmUveVmState *state)
 
VmUveEntryBaseUveEntryFromVm (const boost::uuids::uuid &u)
 
virtual void SendVmDeleteMsg (const std::string &vm_config_name)
 

Protected Attributes

UveVmMap uve_vm_map_
 
Agentagent_
 
tbb::mutex uve_vm_map_mutex_
 

Private Member Functions

virtual VmUveEntryPtr Allocate (const VmEntry *vm)
 
void InterfaceNotify (DBTablePartBase *partition, DBEntryBase *e)
 
void VmNotify (DBTablePartBase *partition, DBEntryBase *e)
 
void InterfaceAddHandler (const VmEntry *vm, const VmInterface *vmi)
 
void InterfaceDeleteHandler (const boost::uuids::uuid &u, const std::string &intf_cfg_name)
 
void UpdateVmName (const boost::uuids::uuid &u, const std::string &vm_name)
 
void MarkChanged (const boost::uuids::uuid &u)
 
VmUveEntryBaseAdd (const VmEntry *vm, bool vm_notify)
 
void Delete (const boost::uuids::uuid &u)
 
void Change (const VmEntry *vm)
 
void set_expiry_time (int time)
 
void SendVmMsg (VmUveEntryBase *entry, const boost::uuids::uuid &u)
 
 DISALLOW_COPY_AND_ASSIGN (VmUveTableBase)
 

Private Attributes

DBTableBase::ListenerId intf_listener_id_
 
DBTableBase::ListenerId vm_listener_id_
 
boost::uuids::uuid timer_last_visited_
 
Timertimer_
 
int expiry_time_
 

Detailed Description

Definition at line 26 of file vm_uve_table_base.h.

Member Typedef Documentation

Definition at line 43 of file vm_uve_table_base.h.

Definition at line 44 of file vm_uve_table_base.h.

typedef boost::shared_ptr<VmUveEntryBase> VmUveTableBase::VmUveEntryPtr

Definition at line 42 of file vm_uve_table_base.h.

Constructor & Destructor Documentation

VmUveTableBase::VmUveTableBase ( Agent agent,
uint32_t  default_intvl 
)

Definition at line 11 of file vm_uve_table_base.cc.

Here is the call graph for this function:

VmUveTableBase::~VmUveTableBase ( )
virtual

Definition at line 24 of file vm_uve_table_base.cc.

Member Function Documentation

VmUveEntryBase * VmUveTableBase::Add ( const VmEntry vm,
bool  vm_notify 
)
private

Definition at line 86 of file vm_uve_table_base.cc.

Here is the call graph for this function:

VmUveTableBase::VmUveEntryPtr VmUveTableBase::Allocate ( const VmEntry vm)
privatevirtual

Reimplemented in VmUveTable.

Definition at line 126 of file vm_uve_table_base.cc.

Here is the call graph for this function:

void VmUveTableBase::Change ( const VmEntry vm)
private

Definition at line 114 of file vm_uve_table_base.cc.

Here is the call graph for this function:

void VmUveTableBase::Delete ( const boost::uuids::uuid u)
private

Definition at line 101 of file vm_uve_table_base.cc.

Here is the call graph for this function:

VmUveTableBase::DISALLOW_COPY_AND_ASSIGN ( VmUveTableBase  )
private
void VmUveTableBase::DispatchVmMsg ( const UveVirtualMachineAgent &  uve)
virtual

Definition at line 139 of file vm_uve_table_base.cc.

void VmUveTableBase::InterfaceAddHandler ( const VmEntry vm,
const VmInterface vmi 
)
private

Definition at line 160 of file vm_uve_table_base.cc.

Here is the call graph for this function:

void VmUveTableBase::InterfaceDeleteHandler ( const boost::uuids::uuid u,
const std::string &  intf_cfg_name 
)
private

Definition at line 169 of file vm_uve_table_base.cc.

Here is the call graph for this function:

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

Definition at line 191 of file vm_uve_table_base.cc.

Here is the call graph for this function:

void VmUveTableBase::MarkChanged ( const boost::uuids::uuid u)
private

Definition at line 151 of file vm_uve_table_base.cc.

Here is the call graph for this function:

void VmUveTableBase::RegisterDBClients ( )

Definition at line 279 of file vm_uve_table_base.cc.

Here is the call graph for this function:

void VmUveTableBase::SendVmDeleteMsg ( const std::string &  vm_config_name)
protectedvirtual

Reimplemented in VmUveTable.

Definition at line 79 of file vm_uve_table_base.cc.

Here is the call graph for this function:

void VmUveTableBase::SendVmMsg ( VmUveEntryBase entry,
const boost::uuids::uuid u 
)
private

Definition at line 143 of file vm_uve_table_base.cc.

Here is the call graph for this function:

void VmUveTableBase::set_expiry_time ( int  time)
private

Definition at line 72 of file vm_uve_table_base.cc.

Here is the call graph for this function:

void VmUveTableBase::Shutdown ( void  )

Definition at line 289 of file vm_uve_table_base.cc.

Here is the call graph for this function:

bool VmUveTableBase::TimerExpiry ( )

Definition at line 27 of file vm_uve_table_base.cc.

Here is the call graph for this function:

void VmUveTableBase::UpdateVmName ( const boost::uuids::uuid u,
const std::string &  vm_name 
)
private

Definition at line 180 of file vm_uve_table_base.cc.

Here is the call graph for this function:

VmUveEntryBase * VmUveTableBase::UveEntryFromVm ( const boost::uuids::uuid u)
protected

Definition at line 131 of file vm_uve_table_base.cc.

void VmUveTableBase::VmNotify ( DBTablePartBase partition,
DBEntryBase e 
)
private

Definition at line 241 of file vm_uve_table_base.cc.

Here is the call graph for this function:

void VmUveTableBase::VmStatCollectionStart ( VmUveVmState state,
const VmEntry vm 
)
protectedvirtual

Reimplemented in VmUveTable.

Definition at line 272 of file vm_uve_table_base.cc.

void VmUveTableBase::VmStatCollectionStop ( VmUveVmState state)
protectedvirtual

Reimplemented in VmUveTable.

Definition at line 276 of file vm_uve_table_base.cc.

Member Data Documentation

Agent* VmUveTableBase::agent_
protected

Definition at line 60 of file vm_uve_table_base.h.

int VmUveTableBase::expiry_time_
private

Definition at line 83 of file vm_uve_table_base.h.

DBTableBase::ListenerId VmUveTableBase::intf_listener_id_
private

Definition at line 78 of file vm_uve_table_base.h.

Timer* VmUveTableBase::timer_
private

Definition at line 82 of file vm_uve_table_base.h.

boost::uuids::uuid VmUveTableBase::timer_last_visited_
private

Definition at line 81 of file vm_uve_table_base.h.

UveVmMap VmUveTableBase::uve_vm_map_
protected

Definition at line 59 of file vm_uve_table_base.h.

tbb::mutex VmUveTableBase::uve_vm_map_mutex_
protected

Definition at line 62 of file vm_uve_table_base.h.

DBTableBase::ListenerId VmUveTableBase::vm_listener_id_
private

Definition at line 79 of file vm_uve_table_base.h.


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