5 #ifndef SRC_VNSW_AGENT_OVS_TOR_AGENT_OVSDB_CLIENT_CONNECTION_STATE_H_
6 #define SRC_VNSW_AGENT_OVS_TOR_AGENT_OVSDB_CLIENT_CONNECTION_STATE_H_
8 #include <boost/intrusive_ptr.hpp>
9 #include <tbb/atomic.h>
23 class HaStaleDevVnTable;
24 class ConnectionStateEntry;
30 typedef std::map<std::string, ConnectionStateEntry *>
EntryMap;
65 typedef std::set<OvsdbClientIdl *>
IdlList;
67 const std::string &device_name,
friend void intrusive_ptr_release(ConnectionStateEntry *p)
PhysicalDevice * device_entry_
ConnectionStateTable * table_
friend void intrusive_ptr_add_ref(ConnectionStateEntry *p)
virtual ~ConnectionStateEntry()
boost::uuids::uuid device_uuid_
ConnectionStateEntry(ConnectionStateTable *table, const std::string &device_name, const boost::uuids::uuid &u)
tbb::atomic< int > refcount_
HaStaleDevVnTable * ha_stale_dev_vn_table_
std::set< OvsdbClientIdl * > IdlList
bool IsConnectionActive()
DISALLOW_COPY_AND_ASSIGN(ConnectionStateEntry)
HaStaleDevVnTable * ha_stale_dev_vn_table() const
void AddIdlToConnectionState(const std::string &device_name, OvsdbClientIdl *idl)
void UpdateConnectionInfo(ConnectionStateEntry *entry, bool deleted)
void NotifyUve(ConnectionStateEntry *entry, bool deleted)
ConnectionStateEntry * Find(const std::string &device_name)
virtual ~ConnectionStateTable()
friend void intrusive_ptr_release(ConnectionStateEntry *p)
void PhysicalDeviceNotify(DBTablePartBase *part, DBEntryBase *e)
std::map< std::string, ConnectionStateEntry * > EntryMap
DBTableBase::ListenerId id_
void DelIdlToConnectionState(const std::string &device_name, OvsdbClientIdl *idl)
DISALLOW_COPY_AND_ASSIGN(ConnectionStateTable)
OvsPeerManager * manager_
ConnectionStateTable(Agent *agent, OvsPeerManager *manager)
boost::intrusive_ptr< ConnectionStateEntry > ConnectionStateEntryPtr