4 #ifndef __AGENT_FLOW_EVENT_H__
5 #define __AGENT_FLOW_EVENT_H__
7 #include <sys/resource.h>
272 uint32_t task_id,
int task_instance,
274 uint32_t max_iterations);
313 uint32_t max_iterations);
325 uint32_t max_iterations);
337 uint32_t max_iterations);
349 uint32_t max_iterations);
bool HandleEvent(FlowEvent *event)
DeleteFlowEventQueue(Agent *agent, FlowProto *proto, FlowTable *table, FlowTokenPool *pool, uint16_t latency_limit, uint32_t max_iterations)
virtual ~DeleteFlowEventQueue()
uint64_t evict_flow_packets() const
uint64_t evict_flow_packets_
uint64_t evict_flow_bytes_
KSyncEntry::KSyncEntryPtr ksync_entry_
uint64_t evict_flow_oflow() const
FlowEventKSync(const FlowEventKSync &rhs)
virtual ~FlowEventKSync()
KSyncEntry::KSyncEvent ksync_event() const
uint32_t transaction_id() const
KSyncEntry::KSyncEvent ksync_event_
uint64_t evict_flow_oflow_
FlowEventKSync(const KSyncEntry::KSyncEntryPtr ksync_entry, KSyncEntry::KSyncEvent ksync_event, uint32_t flow_handle, uint32_t gen_id, int ksync_error, uint64_t evict_flow_bytes, uint64_t evict_flow_packets, uint64_t evict_flow_oflow, uint32_t transaction_id)
KSyncEntry * ksync_entry() const
uint64_t evict_flow_bytes() const
FlowEventQueueBase(FlowProto *proto, const std::string &name, uint32_t task_id, int task_instance, FlowTokenPool *pool, uint16_t latency_limit, uint32_t max_iterations)
void ProcessDone(FlowEvent *event, bool update_rev_flow)
void set_disable(bool val)
bool CanProcess(FlowEvent *event)
virtual bool HandleEvent(FlowEvent *event)=0
uint64_t events_processed() const
FlowTokenPool * token_pool_
uint64_t events_enqueued() const
void Enqueue(FlowEvent *event)
uint64_t events_processed_
bool CanEnqueue(FlowEvent *event)
virtual bool Handler(FlowEvent *event)
WorkQueue< FlowEvent * > Queue
virtual ~FlowEventQueueBase()
virtual ~FlowEventQueue()
FlowEventQueue(Agent *agent, FlowProto *proto, FlowTable *table, FlowTokenPool *pool, uint16_t latency_limit, uint32_t max_iterations)
bool HandleEvent(FlowEvent *event)
FlowEvent(const FlowEvent &rhs)
FlowEvent(Event event, const FlowKey &key)
const DBEntry * db_entry() const
FlowEntryPtr & flow_ref()
FlowEvent(Event event, FlowEntry *flow, uint32_t flow_handle, uint8_t gen_id, uint8_t evict_gen_id)
PktInfoPtr pkt_info() const
void set_db_entry(const DBEntry *db_entry)
FlowEvent(Event event, FlowEntry *flow)
uint32_t flow_handle() const
void set_flow(FlowEntry *flow)
FlowEvent(Event event, const DBEntry *db_entry, uint32_t gen_id)
FlowEvent(Event event, uint32_t table_index)
const FlowKey & get_flow_key() const
FlowEvent(Event event, FlowEntry *flow, const DBEntry *db_entry)
const DBEntry * db_entry_
uint32_t evict_gen_id() const
FlowEvent(Event event, PktInfoPtr pkt_info, FlowEntry *flow, uint32_t table_index)
uint32_t table_index() const
FlowEvent(Event event, uint16_t table_index, const DBEntry *db_entry, uint32_t gen_id)
FlowEvent(Event event, const FlowKey &key, uint32_t flow_handle, uint8_t gen_id)
FlowEvent(Event event, FlowEntry *flow, uint32_t flow_handle, uint8_t gen_id)
boost::intrusive_ptr< KSyncEntry > KSyncEntryPtr
virtual ~KSyncFlowEventQueue()
bool HandleEvent(FlowEvent *event)
KSyncFlowEventQueue(Agent *agent, FlowProto *proto, FlowTable *table, FlowTokenPool *pool, uint16_t latency_limit, uint32_t max_iterations)
bool HandleEvent(FlowEvent *event)
virtual ~UpdateFlowEventQueue()
UpdateFlowEventQueue(Agent *agent, FlowProto *proto, FlowTokenPool *pool, uint16_t latency_limit, uint32_t max_iterations)
void set_disable(bool disabled)
size_t NumEnqueues() const
boost::intrusive_ptr< FlowEntry > FlowEntryPtr
boost::shared_ptr< PktInfo > PktInfoPtr