OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
vm_interface_ksync.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2014 Juniper Networks, Inc. All rights reserved.
3  */
4 
5 #ifndef SRC_VNSW_AGENT_OVS_TOR_AGENT_OVSDB_CLIENT_VM_INTERFACE_KSYNC_H_
6 #define SRC_VNSW_AGENT_OVS_TOR_AGENT_OVSDB_CLIENT_VM_INTERFACE_KSYNC_H_
7 
8 #include <ovsdb_entry.h>
9 #include <ovsdb_object.h>
10 
11 class VmInterface;
12 
13 namespace OVSDB {
15 public:
17  virtual ~VMInterfaceKSyncObject();
18 
19  KSyncEntry *Alloc(const KSyncEntry *key, uint32_t index);
22  const OvsdbDBEntry *ovsdb_entry);
23 
24 private:
26 };
27 
29 public:
31  const VMInterfaceKSyncEntry *key);
33  const VmInterface *entry);
36 
37  // ovs_entry ref is not valid for VM interface, override IsDataResolved
38  // to return always true
39  bool IsDataResolved() {return true;}
40  void AddMsg(struct ovsdb_idl_txn *);
41  void ChangeMsg(struct ovsdb_idl_txn *);
42  void DeleteMsg(struct ovsdb_idl_txn *);
43  bool Sync(DBEntry*);
44  bool IsLess(const KSyncEntry&) const;
45  std::string ToString() const {return "VM Interface Ksync";}
47 
48  const std::string &vn_name() const;
49 
50 private:
51  friend class VMInterfaceKSyncObject;
53  std::string vn_name_;
56 };
57 };
58 
59 #endif //SRC_VNSW_AGENT_OVS_TOR_AGENT_OVSDB_CLIENT_VM_INTERFACE_KSYNC_H_
60 
void ChangeMsg(struct ovsdb_idl_txn *)
DBFilterResp OvsdbDBEntryFilter(const DBEntry *entry, const OvsdbDBEntry *ovsdb_entry)
OvsdbDBObject * table()
Definition: ovsdb_entry.h:96
std::vector< int > SecurityGroupList
Definition: agent.h:201
boost::uuids::uuid uuid
void DeleteMsg(struct ovsdb_idl_txn *)
KSyncEntry * Alloc(const KSyncEntry *key, uint32_t index)
const std::string & vn_name() const
VMInterfaceKSyncEntry(VMInterfaceKSyncObject *table, const VMInterfaceKSyncEntry *key)
bool IsLess(const KSyncEntry &) const
std::string ToString() const
void AddMsg(struct ovsdb_idl_txn *)
KSyncEntry * DBToKSyncEntry(const DBEntry *)
DISALLOW_COPY_AND_ASSIGN(VMInterfaceKSyncEntry)
DISALLOW_COPY_AND_ASSIGN(VMInterfaceKSyncObject)
VMInterfaceKSyncObject(OvsdbClientIdl *idl, DBTable *table)