OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
forwarding_class_ksync.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_FORWARDING_CLASS_KSYNC_H__
6 #define __VNSW_AGENT_FORWARDING_CLASS_KSYNC_H__
7 
8 #include <db/db_entry.h>
9 #include <db/db_table.h>
10 #include <db/db_table_partition.h>
11 #include <ksync/ksync_entry.h>
12 #include <ksync/ksync_object.h>
13 #include <ksync/ksync_netlink.h>
14 #include "oper/qos_queue.h"
15 #include "oper/forwarding_class.h"
16 
17 class KSync;
19 
21 public:
23  const ForwardingClassKSyncEntry *entry);
25  const ForwardingClass *fc);
27  uint32_t i);
29 
30  KSyncDBObject *GetObject() const;
31  virtual bool IsLess(const KSyncEntry &rhs) const;
32  virtual std::string ToString() const;
34  virtual bool Sync(DBEntry *e);
35  virtual int AddMsg(char *buf, int buf_len);
36  virtual int ChangeMsg(char *buf, int buf_len);
37  virtual int DeleteMsg(char *buf, int buf_len);
38  uint32_t id() const { return id_;}
39  uint32_t dscp() const { return dscp_;}
40  uint32_t vlan_priority() const { return vlan_priority_;}
41  uint32_t mpls_exp() const { return mpls_exp_;}
43  return qos_queue_ksync_.get();
44  }
45 private:
46  int Encode(sandesh_op::type op, char *buf, int buf_len);
48  uint32_t id_;
49  uint32_t dscp_;
50  uint32_t vlan_priority_;
51  uint32_t mpls_exp_;
53  uint16_t nic_queue_id_;
55 };
56 
58 public:
61  KSync *ksync() const { return ksync_; }
62  virtual KSyncEntry *Alloc(const KSyncEntry *entry, uint32_t index);
63  virtual KSyncEntry *DBToKSyncEntry(const DBEntry *e);
64  void RegisterDBClients();
66  const KSyncDBEntry*ksync);
67 private:
70 };
71 #endif
virtual int DeleteMsg(char *buf, int buf_len)
virtual int ChangeMsg(char *buf, int buf_len)
virtual KSyncEntry * UnresolvedReference()
ForwardingClassKSyncEntry(ForwardingClassKSyncObject *obj, const ForwardingClassKSyncEntry *entry)
virtual std::string ToString() const
uint8_t type
Definition: load_balance.h:109
boost::intrusive_ptr< KSyncEntry > KSyncEntryPtr
Definition: ksync_entry.h:68
virtual KSyncEntry * DBToKSyncEntry(const DBEntry *e)
int Encode(sandesh_op::type op, char *buf, int buf_len)
virtual int AddMsg(char *buf, int buf_len)
KSyncEntry * qos_queue_ksync() const
virtual bool Sync(DBEntry *e)
virtual KSyncEntry * Alloc(const KSyncEntry *entry, uint32_t index)
virtual bool IsLess(const KSyncEntry &rhs) const
KSyncDBObject * GetObject() const
DISALLOW_COPY_AND_ASSIGN(ForwardingClassKSyncEntry)
virtual KSyncDBObject::DBFilterResp DBEntryFilter(const DBEntry *entry, const KSyncDBEntry *ksync)
DISALLOW_COPY_AND_ASSIGN(ForwardingClassKSyncObject)