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