Click
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
VirtualFlowManagerIMP< T, State > Class Template Reference

#include <virtualflowmanager.hh>

Inheritance diagram for VirtualFlowManagerIMP< T, State >:
Router::InitFuture

Public Member Functions

int parse (Args *args)
 
int solve_initialize (ErrorHandler *errh) override
 
void update_lastseen (FlowControlBlock *fcb, Timestamp &ts)
 
int maintainer ()
 
void push_batch (int, PacketBatch *batch) override
 
void process (Packet *p, BatchBuilder &b, Timestamp &recent)
 
- Public Member Functions inherited from Router::InitFuture
 InitFuture (Element *owner=0)
 
virtual void notifyParent (InitFuture *future)
 
virtual int completed (ErrorHandler *errh)
 

Static Public Member Functions

static void run_maintain_timer (Timer *t, void *thunk)
 

Protected Types

enum  { h_count , h_count_fids , h_capacity , h_total_capacity }
 

Protected Member Functions

FlowControlBlock * get_fcb_from_flowid (int i)
 
void add_handlers ()
 

Static Protected Member Functions

static uint32_t * get_fcb_flowid (FlowControlBlock *fcb)
 
static IPFlow5ID * get_fcb_key (FlowControlBlock *fcb)
 
static const int reserve_size ()
 
static FlowControlBlock ** get_next_released_fcb (FlowControlBlock *fcb)
 
static String read_handler (Element *e, void *thunk)
 

Protected Attributes

per_thread_oread< State > _tables
 
uint32_t _capacity
 
int _verbose
 
uint32_t _flow_state_size_full
 
bool _cache
 
uint32_t _timeout_epochs
 
uint32_t _timeout_ms
 
uint32_t _epochs_per_sec
 
uint16_t _recycle_interval_ms
 
const bool have_maintainer = true
 
- Protected Attributes inherited from Router::InitFuture
bool _completed
 
Element * _owner
 

Static Protected Attributes

static const auto constexpr setter
 

Detailed Description

template<typename T, class State>
class VirtualFlowManagerIMP< T, State >

Element that allocates some FCB Space per-thread

Member Function Documentation

◆ solve_initialize()

template<typename T , class State >
int VirtualFlowManagerIMP< T, State >::solve_initialize ( ErrorHandler *  errh)
inlineoverridevirtual

Reimplemented from Router::InitFuture.

◆ get_fcb_key()

template<typename T , class State >
static IPFlow5ID * VirtualFlowManagerIMP< T, State >::get_fcb_key ( FlowControlBlock *  fcb)
inlinestaticprotected

Returns the location of the IPFlow5ID in the FCB

Member Data Documentation

◆ setter

template<typename T , class State >
const auto constexpr VirtualFlowManagerIMP< T, State >::setter
staticconstexprprotected
Initial value:
= [](FlowControlBlock* prev, FlowControlBlock* next)
{
*(get_next_released_fcb(prev)) = next;
}

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