OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FlowEventQueueBase Class Referenceabstract

#include <flow_event.h>

Inheritance diagram for FlowEventQueueBase:
Collaboration diagram for FlowEventQueueBase:

Public Types

typedef WorkQueue< FlowEvent * > Queue
 

Public Member Functions

 FlowEventQueueBase (FlowProto *proto, const std::string &name, uint32_t task_id, int task_instance, FlowTokenPool *pool, uint16_t latency_limit, uint32_t max_iterations)
 
virtual ~FlowEventQueueBase ()
 
virtual bool HandleEvent (FlowEvent *event)=0
 
virtual bool Handler (FlowEvent *event)
 
void Shutdown ()
 
void Enqueue (FlowEvent *event)
 
bool TokenCheck ()
 
bool TaskEntry ()
 
void TaskExit (bool done)
 
void set_disable (bool val)
 
uint32_t Length ()
 
void MayBeStartRunner ()
 
Queuequeue () const
 
uint64_t events_processed () const
 
uint64_t events_enqueued () const
 

Protected Member Functions

bool CanEnqueue (FlowEvent *event)
 
bool CanProcess (FlowEvent *event)
 
void ProcessDone (FlowEvent *event, bool update_rev_flow)
 

Protected Attributes

Queuequeue_
 
FlowProtoflow_proto_
 
FlowTokenPooltoken_pool_
 
uint64_t task_start_
 
uint32_t count_
 
uint64_t events_processed_
 
uint16_t latency_limit_
 
struct rusage rusage_
 

Detailed Description

Definition at line 267 of file flow_event.h.

Member Typedef Documentation

Definition at line 269 of file flow_event.h.

Constructor & Destructor Documentation

FlowEventQueueBase::FlowEventQueueBase ( FlowProto proto,
const std::string &  name,
uint32_t  task_id,
int  task_instance,
FlowTokenPool pool,
uint16_t  latency_limit,
uint32_t  max_iterations 
)

Definition at line 20 of file flow_event.cc.

Here is the call graph for this function:

FlowEventQueueBase::~FlowEventQueueBase ( )
virtual

Definition at line 46 of file flow_event.cc.

Member Function Documentation

bool FlowEventQueueBase::CanEnqueue ( FlowEvent event)
protected

Definition at line 110 of file flow_event.cc.

Here is the call graph for this function:

bool FlowEventQueueBase::CanProcess ( FlowEvent event)
protected

Definition at line 147 of file flow_event.cc.

Here is the call graph for this function:

void FlowEventQueueBase::Enqueue ( FlowEvent event)

Definition at line 54 of file flow_event.cc.

Here is the call graph for this function:

uint64_t FlowEventQueueBase::events_enqueued ( ) const
inline

Definition at line 289 of file flow_event.h.

Here is the call graph for this function:

uint64_t FlowEventQueueBase::events_processed ( ) const
inline

Definition at line 288 of file flow_event.h.

virtual bool FlowEventQueueBase::HandleEvent ( FlowEvent event)
pure virtual
bool FlowEventQueueBase::Handler ( FlowEvent event)
virtual

Definition at line 96 of file flow_event.cc.

Here is the call graph for this function:

uint32_t FlowEventQueueBase::Length ( )
inline

Definition at line 285 of file flow_event.h.

Here is the call graph for this function:

void FlowEventQueueBase::MayBeStartRunner ( )
inline

Definition at line 286 of file flow_event.h.

Here is the call graph for this function:

void FlowEventQueueBase::ProcessDone ( FlowEvent event,
bool  update_rev_flow 
)
protected

Definition at line 188 of file flow_event.cc.

Here is the call graph for this function:

Queue* FlowEventQueueBase::queue ( ) const
inline

Definition at line 287 of file flow_event.h.

void FlowEventQueueBase::set_disable ( bool  val)
inline

Definition at line 284 of file flow_event.h.

Here is the call graph for this function:

void FlowEventQueueBase::Shutdown ( )

Definition at line 50 of file flow_event.cc.

Here is the call graph for this function:

bool FlowEventQueueBase::TaskEntry ( )

Definition at line 66 of file flow_event.cc.

Here is the call graph for this function:

void FlowEventQueueBase::TaskExit ( bool  done)

Definition at line 73 of file flow_event.cc.

Here is the call graph for this function:

bool FlowEventQueueBase::TokenCheck ( )

Definition at line 62 of file flow_event.cc.

Here is the call graph for this function:

Member Data Documentation

uint32_t FlowEventQueueBase::count_
protected

Definition at line 301 of file flow_event.h.

uint64_t FlowEventQueueBase::events_processed_
protected

Definition at line 304 of file flow_event.h.

FlowProto* FlowEventQueueBase::flow_proto_
protected

Definition at line 297 of file flow_event.h.

uint16_t FlowEventQueueBase::latency_limit_
protected

Definition at line 305 of file flow_event.h.

Queue* FlowEventQueueBase::queue_
protected

Definition at line 296 of file flow_event.h.

struct rusage FlowEventQueueBase::rusage_
protected

Definition at line 306 of file flow_event.h.

uint64_t FlowEventQueueBase::task_start_
protected

Definition at line 299 of file flow_event.h.

FlowTokenPool* FlowEventQueueBase::token_pool_
protected

Definition at line 298 of file flow_event.h.


The documentation for this class was generated from the following files: