5 #ifndef ctrlplane_ksync_entry_h
6 #define ctrlplane_ksync_entry_h
8 #include <boost/intrusive_ptr.hpp>
9 #include <boost/intrusive/set.hpp>
10 #include <tbb/atomic.h>
11 #include <sandesh/common/vns_constants.h>
12 #include <sandesh/common/vns_types.h>
13 #include <sandesh/sandesh_trace.h>
16 #define KSYNC_ERROR(obj, ...)\
18 if (LoggingDisabled()) break;\
19 obj::Send(g_vns_constants.CategoryNames.find(Category::VROUTER)->second,\
20 SandeshLevel::SYS_DEBUG, __FILE__, __LINE__, ##__VA_ARGS__);\
24 #define KSYNC_ERROR_TRACE(obj, ...) \
26 KSyncError##obj::TraceMsg(KSyncErrorTraceBuf, \
27 __FILE__, __LINE__, __VA_ARGS__); \
188 boost::intrusive::set_member_hook<>
node_;
213 for (
int i = 0; i <
size_; i++) {
DupEntryList dup_entry_list_
KSyncDBEntry(uint32_t index)
DISALLOW_COPY_AND_ASSIGN(KSyncDBEntry)
std::list< DBEntry * > DupEntryList
void SetDBEntry(DBEntry *db_entry)
virtual bool Sync(DBEntry *entry)=0
void RecordTransition(KSyncState from, KSyncState to, KSyncEvent event)
struct KSyncEntryTransition history_[size_]
virtual bool AllowDeleteStateComp()
boost::intrusive::set_member_hook node_
virtual std::string VrouterError(uint32_t error) const
virtual bool IsDataResolved()
std::string AckOperationString(KSyncEvent ack_event) const
tbb::atomic< int > refcount_
virtual KSyncObject * GetObject() const =0
void SetState(KSyncState state)
void set_del_add_pending(bool pending)
KSyncEntry(uint32_t index)
virtual std::string ToString() const =0
bool del_add_pending() const
std::string EventString(KSyncEvent event) const
friend void intrusive_ptr_add_ref(KSyncEntry *p)
virtual uint32_t GetTableIndex() const
std::string StateString() const
virtual bool ShouldReEvalBackReference() const
virtual void StaleTimerExpired()
DISALLOW_COPY_AND_ASSIGN(KSyncEntry)
void Reset(uint32_t index)
static const int kDefaultMsgSize
KSyncEntryTransHistory t_history_
boost::intrusive_ptr< KSyncEntry > KSyncEntryPtr
virtual bool pre_alloc_rx_buffer() const
bool operator<(const KSyncEntry &rhs) const
void RecordTransition(KSyncState from, KSyncState to, KSyncEvent event)
virtual void ErrorHandler(int err, uint32_t seqno, KSyncEvent event) const
static std::string VrouterErrorToString(uint32_t error)
uint32_t GetRefCount() const
static const size_t kInvalidIndex
virtual bool IsLess(const KSyncEntry &rhs) const =0
void SetIndex(size_t index)
KSyncState GetState() const
friend void intrusive_ptr_release(KSyncEntry *p)
virtual KSyncEntry * UnresolvedReference()=0
SandeshTraceBufferPtr KSyncErrorTraceBuf
boost::shared_ptr< TraceBuffer< SandeshTrace > > SandeshTraceBufferPtr