9 : uve_vn_map_(), agent_(agent), uve_vn_map_mutex_(),
12 timer_last_visited_(
""),
14 (*(agent->event_manager())->io_service(),
59 UveVnMap::iterator prev = it;
106 UveVirtualNetworkAgent uve;
116 UveVirtualNetworkAgentTrace::Send(uve);
128 return it->second.get();
142 UveVirtualNetworkAgent s_vn;
144 s_vn.set_deleted(
true);
158 pair<UveVnMap::iterator, bool> ret;
160 UveVnMap::iterator it = ret.first;
229 UveVirtualNetworkAgent uve;
239 const string &vm_name,
242 vn_uve_entry =
Add(vn);
244 UveVirtualNetworkAgent uve;
251 if (vm_name.length()) {
252 vn_uve_entry->
VmAdd(vm_name);
261 if (vm_port == NULL) {
292 if (state->
vm_name_.compare(vm_name) != 0) {
310 UveVirtualNetworkAgent uve;
static const std::string LinkLocalVn()
DBTableBase::ListenerId vn_listener_id_
void set_vn(const VnEntry *vn)
void set_add_by_vn_notify(bool val)
uint32_t incremental_interval() const
void set_renewed(bool value)
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
void InterfaceDelete(const Interface *intf)
void VmAdd(const std::string &vm)
void SendDeleteVnMsg(const std::string &vn)
AgentUveBase * uve() const
void InterfaceAdd(const Interface *intf)
std::string timer_last_visited_
void SetState(DBTableBase *tbl_base, ListenerId listener, DBState *state)
void set_changed(bool val)
void VmDelete(const std::string &vm)
DBTableBase::ListenerId intf_listener_id_
static const uint32_t kUveCountPerTimer
virtual void SendVnAceStats(VnUveEntryBase *entry, const VnEntry *vn)
InterfaceTable * interface_table() const
VnTable * vn_table() const
void set_deleted(bool value)
void MarkChanged(const VnEntry *vn)
void Delete(const std::string &name)
void Unregister(ListenerId listener)
bool FrameVnAclRuleCountMsg(const VnEntry *vn, UveVirtualNetworkAgent *uve)
ListenerId Register(ChangeCallback callback, const std::string &name="unspecified")
static const std::string UnknownVn()
VnUveEntryBase * Add(const VnEntry *vn)
void InterfaceDeleteHandler(const std::string &vm, const std::string &vn, const Interface *intf)
const VnEntry * vn() const
void SendVnAclRuleCount()
virtual VnUveEntryPtr Allocate()
tbb::mutex uve_vn_map_mutex_
static const std::string & NullString()
const VnEntry * vn() const
void ClearState(DBTableBase *tbl_base, ListenerId listener)
virtual ~VnUveTableBase()
VnUveTableBase(Agent *agent, uint32_t default_intvl)
void VnNotify(DBTablePartBase *partition, DBEntryBase *e)
std::pair< std::string, VnUveEntryPtr > UveVnPair
bool Start(int time, Handler handler, ErrorHandler error_handler=NULL)
static const int kInvalidId
void SendVnMsg(VnUveEntryBase *entry, const VnEntry *vn)
const string & GetName() const
VnUveEntryBase * UveEntryFromVn(const VnEntry *vn)
boost::shared_ptr< VnUveEntryBase > VnUveEntryPtr
void set_expiry_time(int time)
bool Reschedule(int time)
bool FrameVnMsg(const VnEntry *vn, UveVirtualNetworkAgent &uve)
virtual void DispatchVnMsg(const UveVirtualNetworkAgent &uve)
void InterfaceAddHandler(const VnEntry *vn, const Interface *intf, const std::string &vm_name, VnUveInterfaceState *state)
const VmEntry * vm() const
void InterfaceNotify(DBTablePartBase *partition, DBEntryBase *e)
static bool DeleteTimer(Timer *Timer)