OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
vm_uve_table.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2013 Juniper Networks, Inc. All rights reserved.
3  */
4 
5 #ifndef vnsw_agent_flow_vm_uve_table_h
6 #define vnsw_agent_flow_vm_uve_table_h
7 
9 #include <uve/vm_uve_entry.h>
10 #include <uve/l4_port_bitmap.h>
11 #include <pkt/flow_proto.h>
12 #include <pkt/flow_table.h>
13 
14 class VmUveTable : public VmUveTableBase {
15 public:
16  VmUveTable(Agent *agent, uint32_t default_intvl);
17  virtual ~VmUveTable();
18  void UpdateBitmap(const VmEntry* vm, uint8_t proto, uint16_t sport,
19  uint16_t dport);
20  void EnqueueVmStatData(VmStatData *data);
21  bool Process(VmStatData *vm_stat_data);
22  void SendVmStats(void);
23  virtual void DispatchVmStatsMsg(const VirtualMachineStats &uve);
24 protected:
25  virtual void VmStatCollectionStart(VmUveVmState *state, const VmEntry *vm);
26  virtual void VmStatCollectionStop(VmUveVmState *state);
27 private:
28  virtual VmUveEntryPtr Allocate(const VmEntry *vm);
29  void SendVmStatsMsg(const boost::uuids::uuid &u);
30  virtual void SendVmDeleteMsg(const std::string &vm_config_name);
31 
32  boost::scoped_ptr<WorkQueue<VmStatData *> > event_queue_;
34 };
35 
36 #endif // vnsw_agent_flow_vm_uve_table_h
virtual void DispatchVmStatsMsg(const VirtualMachineStats &uve)
Definition: vm_uve_table.cc:92
virtual void VmStatCollectionStop(VmUveVmState *state)
Definition: vm_uve_table.cc:71
Definition: vm.h:32
virtual ~VmUveTable()
Definition: vm_uve_table.cc:20
boost::uuids::uuid uuid
boost::shared_ptr< VmUveEntryBase > VmUveEntryPtr
VmUveTable(Agent *agent, uint32_t default_intvl)
Definition: vm_uve_table.cc:12
virtual void SendVmDeleteMsg(const std::string &vm_config_name)
Definition: agent.h:358
boost::scoped_ptr< WorkQueue< VmStatData * > > event_queue_
Definition: vm_uve_table.h:32
void UpdateBitmap(const VmEntry *vm, uint8_t proto, uint16_t sport, uint16_t dport)
Definition: vm_uve_table.cc:23
virtual void VmStatCollectionStart(VmUveVmState *state, const VmEntry *vm)
Definition: vm_uve_table.cc:56
void EnqueueVmStatData(VmStatData *data)
Definition: vm_uve_table.cc:78
virtual VmUveEntryPtr Allocate(const VmEntry *vm)
Definition: vm_uve_table.cc:33
bool Process(VmStatData *vm_stat_data)
Definition: vm_uve_table.cc:82
void SendVmStats(void)
Definition: vm_uve_table.cc:96
void SendVmStatsMsg(const boost::uuids::uuid &u)
Definition: vm_uve_table.cc:38
DISALLOW_COPY_AND_ASSIGN(VmUveTable)