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

#include <interface_uve_table.h>

Inheritance diagram for InterfaceUveTable:
Collaboration diagram for InterfaceUveTable:

Classes

struct  AceStats
 
struct  EndpointStatsContainer
 
struct  FipInfo
 
struct  FloatingIp
 
class  FloatingIpCmp
 
struct  PolicyCmp
 
struct  UveInterfaceEntry
 
struct  UveInterfaceState
 
struct  UveSecurityPolicyStats
 

Public Types

typedef boost::shared_ptr
< FloatingIp
FloatingIpPtr
 
typedef std::set
< FloatingIpPtr, FloatingIpCmp
FloatingIpSet
 
typedef boost::shared_ptr
< UveSecurityPolicyStats
UveSecurityPolicyStatsPtr
 
typedef std::set
< UveSecurityPolicyStatsPtr,
PolicyCmp
SecurityPolicyStatsSet
 
typedef std::map< std::string,
EndpointStatsContainer
SecurityPolicyStatsMap
 
typedef std::pair< std::string,
EndpointStatsContainer
SecurityPolicyStatsPair
 
typedef std::set< AceStatsAceStatsSet
 
typedef boost::shared_ptr
< UveInterfaceEntry
UveInterfaceEntryPtr
 
typedef std::map< std::string,
UveInterfaceEntryPtr
InterfaceMap
 
typedef std::pair< std::string,
UveInterfaceEntryPtr
InterfacePair
 

Public Member Functions

 InterfaceUveTable (Agent *agent, uint32_t default_intvl)
 
virtual ~InterfaceUveTable ()
 
void RegisterDBClients ()
 
void Shutdown (void)
 
virtual void DispatchInterfaceMsg (const UveVMInterfaceAgent &uve)
 
virtual void DispatchInterfaceObjectLog (EndpointSecurityStats *obj)
 
void DispatchVMITagsMsg (const VMITags &uve) const
 
virtual void DispatchVMIStatsMsg (const VMIStats &uve)
 
bool TimerExpiry ()
 
virtual void SendInterfaceAceStats (const string &name, UveInterfaceEntry *entry)
 
void HandleVmiTagListChange (const std::string &name)
 

Protected Member Functions

void SendInterfaceDeleteMsg (const std::string &config_name)
 

Protected Attributes

Agentagent_
 
InterfaceMap interface_tree_
 
tbb::mutex interface_tree_mutex_
 

Private Member Functions

virtual UveInterfaceEntryPtr Allocate (const VmInterface *vm)
 
void InterfaceNotify (DBTablePartBase *partition, DBEntryBase *e)
 
void InterfaceAddHandler (const VmInterface *intf, const VmInterface::FloatingIpSet &old_list)
 
void InterfaceDeleteHandler (const std::string &name)
 
void set_expiry_time (int time)
 
void SendInterfaceMsg (const std::string &name, UveInterfaceEntry *entry)
 
 DISALLOW_COPY_AND_ASSIGN (InterfaceUveTable)
 

Private Attributes

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

Detailed Description

Definition at line 49 of file interface_uve_table.h.

Member Typedef Documentation

Definition at line 203 of file interface_uve_table.h.

typedef boost::shared_ptr<FloatingIp> InterfaceUveTable::FloatingIpPtr

Definition at line 102 of file interface_uve_table.h.

typedef std::map<std::string, UveInterfaceEntryPtr> InterfaceUveTable::InterfaceMap

Definition at line 290 of file interface_uve_table.h.

typedef std::pair<std::string, UveInterfaceEntryPtr> InterfaceUveTable::InterfacePair

Definition at line 291 of file interface_uve_table.h.

Definition at line 200 of file interface_uve_table.h.

Definition at line 202 of file interface_uve_table.h.

Definition at line 288 of file interface_uve_table.h.

Definition at line 167 of file interface_uve_table.h.

Constructor & Destructor Documentation

InterfaceUveTable::InterfaceUveTable ( Agent agent,
uint32_t  default_intvl 
)

Definition at line 11 of file interface_uve_table.cc.

Here is the call graph for this function:

InterfaceUveTable::~InterfaceUveTable ( )
virtual

Definition at line 24 of file interface_uve_table.cc.

Member Function Documentation

InterfaceUveTable::UveInterfaceEntryPtr InterfaceUveTable::Allocate ( const VmInterface vm)
privatevirtual

Definition at line 380 of file interface_uve_table.cc.

InterfaceUveTable::DISALLOW_COPY_AND_ASSIGN ( InterfaceUveTable  )
private
void InterfaceUveTable::DispatchInterfaceMsg ( const UveVMInterfaceAgent &  uve)
virtual

Definition at line 385 of file interface_uve_table.cc.

void InterfaceUveTable::DispatchInterfaceObjectLog ( EndpointSecurityStats *  obj)
virtual

Definition at line 397 of file interface_uve_table.cc.

void InterfaceUveTable::DispatchVMIStatsMsg ( const VMIStats &  uve)
virtual

Definition at line 389 of file interface_uve_table.cc.

void InterfaceUveTable::DispatchVMITagsMsg ( const VMITags &  uve) const

Definition at line 393 of file interface_uve_table.cc.

void InterfaceUveTable::HandleVmiTagListChange ( const std::string &  name)

Definition at line 475 of file interface_uve_table.cc.

Here is the call graph for this function:

void InterfaceUveTable::InterfaceAddHandler ( const VmInterface intf,
const VmInterface::FloatingIpSet old_list 
)
private

Definition at line 413 of file interface_uve_table.cc.

Here is the call graph for this function:

void InterfaceUveTable::InterfaceDeleteHandler ( const std::string &  name)
private

Definition at line 461 of file interface_uve_table.cc.

Here is the call graph for this function:

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

Definition at line 485 of file interface_uve_table.cc.

Here is the call graph for this function:

void InterfaceUveTable::RegisterDBClients ( )

Definition at line 527 of file interface_uve_table.cc.

Here is the call graph for this function:

virtual void InterfaceUveTable::SendInterfaceAceStats ( const string &  name,
UveInterfaceEntry entry 
)
inlinevirtual

Reimplemented in InterfaceUveStatsTable.

Definition at line 302 of file interface_uve_table.h.

void InterfaceUveTable::SendInterfaceDeleteMsg ( const std::string &  config_name)
protected

Definition at line 308 of file interface_uve_table.cc.

Here is the call graph for this function:

void InterfaceUveTable::SendInterfaceMsg ( const std::string &  name,
UveInterfaceEntry entry 
)
private

Definition at line 401 of file interface_uve_table.cc.

Here is the call graph for this function:

void InterfaceUveTable::set_expiry_time ( int  time)
private

Definition at line 80 of file interface_uve_table.cc.

Here is the call graph for this function:

void InterfaceUveTable::Shutdown ( void  )

Definition at line 534 of file interface_uve_table.cc.

Here is the call graph for this function:

bool InterfaceUveTable::TimerExpiry ( )

Definition at line 27 of file interface_uve_table.cc.

Here is the call graph for this function:

Member Data Documentation

Agent* InterfaceUveTable::agent_
protected

Definition at line 310 of file interface_uve_table.h.

int InterfaceUveTable::expiry_time_
private

Definition at line 327 of file interface_uve_table.h.

InterfaceMap InterfaceUveTable::interface_tree_
protected

Definition at line 311 of file interface_uve_table.h.

tbb::mutex InterfaceUveTable::interface_tree_mutex_
protected

Definition at line 313 of file interface_uve_table.h.

DBTableBase::ListenerId InterfaceUveTable::intf_listener_id_
private

Definition at line 323 of file interface_uve_table.h.

Timer* InterfaceUveTable::timer_
private

Definition at line 326 of file interface_uve_table.h.

std::string InterfaceUveTable::timer_last_visited_
private

Definition at line 325 of file interface_uve_table.h.


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