OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
qos_queue_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_QOS_QUEUE_KSYNC_H__
6 #define __VNSW_AGENT_QOS_QUEUE_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 
16 class KSync;
18 
20 public:
22  QosQueueKSyncEntry(QosQueueKSyncObject *obj, const QosQueue *qos_queue);
23  QosQueueKSyncEntry(QosQueueKSyncObject *obj, uint32_t qos_queue);
24  virtual ~QosQueueKSyncEntry();
25 
26  KSyncDBObject *GetObject() const;
27  virtual bool IsLess(const KSyncEntry &rhs) const;
28  virtual std::string ToString() const;
30  virtual bool Sync(DBEntry *e);
31  virtual int AddMsg(char *buf, int buf_len);
32  virtual int ChangeMsg(char *buf, int buf_len);
33  virtual int DeleteMsg(char *buf, int buf_len);
34  uint32_t id() const { return id_;}
35 private:
36  int Encode(sandesh_op::type op, char *buf, int buf_len);
38  uint32_t id_;
40 };
41 
43 public:
45  virtual ~QosQueueKSyncObject();
46  KSync *ksync() const { return ksync_; }
47  virtual KSyncEntry *Alloc(const KSyncEntry *entry, uint32_t id);
48  virtual KSyncEntry *DBToKSyncEntry(const DBEntry *e);
49  void RegisterDBClients();
50 private:
53 };
54 #endif
virtual bool IsLess(const KSyncEntry &rhs) const
KSync * ksync() const
virtual ~QosQueueKSyncObject()
uint32_t id() const
virtual ~QosQueueKSyncEntry()
virtual int ChangeMsg(char *buf, int buf_len)
QosQueueKSyncObject(KSync *ksync)
KSyncDBObject * ksync_obj_
DISALLOW_COPY_AND_ASSIGN(QosQueueKSyncObject)
uint8_t type
Definition: load_balance.h:109
virtual int AddMsg(char *buf, int buf_len)
virtual KSyncEntry * UnresolvedReference()
virtual std::string ToString() const
QosQueueKSyncEntry(QosQueueKSyncObject *obj, const QosQueueKSyncEntry *entry)
int Encode(sandesh_op::type op, char *buf, int buf_len)
virtual int DeleteMsg(char *buf, int buf_len)
virtual bool Sync(DBEntry *e)
KSyncDBObject * GetObject() const
virtual KSyncEntry * DBToKSyncEntry(const DBEntry *e)
virtual KSyncEntry * Alloc(const KSyncEntry *entry, uint32_t id)
DISALLOW_COPY_AND_ASSIGN(QosQueueKSyncEntry)