9 using boost::uuids::nil_uuid;
12 : uve_vm_map_(), agent_(agent), uve_vm_map_mutex_(),
14 vm_listener_id_(
DBTableBase::kInvalidId), timer_last_visited_(nil_uuid()),
16 (*(agent->event_manager())->io_service(),
38 UveVmMap::iterator prev = it;
80 UveVirtualMachineAgent uve;
81 uve.set_name(vm_config_name);
82 uve.set_deleted(
true);
88 pair<UveVmMap::iterator, bool> ret;
90 UveVmMap::iterator it = ret.first;
120 bool send = entry->
Update(vm);
136 return it->second.get();
140 UveVirtualMachineAgentTrace::Send(uve);
145 UveVirtualMachineAgent uve;
170 const string &intf_cfg_name) {
181 const string &vm_name) {
194 if (vm_port == NULL) {
222 if (state->
vm_uuid_ != nil_uuid() &&
227 if (vm->
GetUuid() != nil_uuid() &&
tbb::mutex uve_vm_map_mutex_
VmUveEntryBase * UveEntryFromVm(const boost::uuids::uuid &u)
void set_vm_name(const std::string name)
uint32_t incremental_interval() const
const string & GetCfgName() const
The TaskScheduler keeps track of what tasks are currently schedulable. When a task is enqueued it is ...
DBState * GetState(DBTableBase *tbl_base, ListenerId listener) const
uint32_t default_interval() const
boost::uuids::uuid timer_last_visited_
AgentUveBase * uve() const
virtual VmUveEntryPtr Allocate(const VmEntry *vm)
virtual void VmStatCollectionStop(VmUveVmState *state)
void SetState(DBTableBase *tbl_base, ListenerId listener, DBState *state)
const std::string & vm_config_name() const
static const uint32_t kUveCountPerTimer
InterfaceTable * interface_table() const
void SendVmMsg(VmUveEntryBase *entry, const boost::uuids::uuid &u)
boost::uuids::uuid vm_uuid_
const boost::uuids::uuid & GetUuid() const
boost::shared_ptr< VmUveEntryBase > VmUveEntryPtr
bool Update(const VmEntry *vm)
void Unregister(ListenerId listener)
void InterfaceDelete(const std::string &intf_cfg_name)
ListenerId Register(ChangeCallback callback, const std::string &name="unspecified")
void VmNotify(DBTablePartBase *partition, DBEntryBase *e)
void Delete(const boost::uuids::uuid &u)
void set_changed(bool val)
virtual ~VmUveTableBase()
void set_expiry_time(int time)
DBTableBase::ListenerId vm_listener_id_
void InterfaceAddHandler(const VmEntry *vm, const VmInterface *vmi)
void set_deleted(bool value)
virtual void VmStatCollectionStart(VmUveVmState *state, const VmEntry *vm)
void InterfaceDeleteHandler(const boost::uuids::uuid &u, const std::string &intf_cfg_name)
VmUveTableBase(Agent *agent, uint32_t default_intvl)
bool add_by_vm_notify() const
virtual void DispatchVmMsg(const UveVirtualMachineAgent &uve)
void ClearState(DBTableBase *tbl_base, ListenerId listener)
void UpdateVmName(const boost::uuids::uuid &u, const std::string &vm_name)
std::pair< const boost::uuids::uuid, VmUveEntryPtr > UveVmPair
const std::string & vm_name() const
virtual void SendVmDeleteMsg(const std::string &vm_config_name)
bool FrameVmMsg(const boost::uuids::uuid &u, UveVirtualMachineAgent *uve)
void set_add_by_vm_notify(bool value)
bool Start(int time, Handler handler, ErrorHandler error_handler=NULL)
void Change(const VmEntry *vm)
const std::string & cfg_name() const
static const int kInvalidId
VmUveEntryBase * Add(const VmEntry *vm, bool vm_notify)
std::set< FloatingIp, FloatingIp > FloatingIpSet
void InterfaceAdd(const std::string &intf_cfg_name)
void InterfaceNotify(DBTablePartBase *partition, DBEntryBase *e)
void MarkChanged(const boost::uuids::uuid &u)
bool Reschedule(int time)
VmTable * vm_table() const
const VmEntry * vm() const
DBTableBase::ListenerId intf_listener_id_
void set_renewed(bool value)
static bool DeleteTimer(Timer *Timer)
std::string interface_cfg_name_