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

#include <flow_entry.h>

Collaboration diagram for PortCacheTable:

Public Types

typedef std::set< PortCacheEntryPortCacheEntryList
 
typedef std::map< uint16_t,
PortCacheEntryList
PortCacheTree
 

Public Member Functions

 PortCacheTable (PortTable *table)
 
 ~PortCacheTable ()
 
void Add (const PortCacheEntry &cache_entry)
 
void Delete (const PortCacheEntry &cache_entry)
 
const PortCacheEntryFind (const FlowKey &key) const
 
void MarkDelete (const PortCacheEntry &cache_entry)
 
void set_timeout (uint64_t timeout)
 

Static Public Attributes

static const uint64_t kCacheAging = 1000
 
static const uint64_t kAgingTimeout = 1000 * 1000 * 600
 

Private Member Functions

void StartTimer ()
 
void StopTimer ()
 
bool Age ()
 

Private Attributes

PortCacheTree tree_
 
PortTableport_table_
 
Timertimer_
 
uint16_t hash_
 
uint64_t timeout_
 

Detailed Description

Definition at line 977 of file flow_entry.h.

Member Typedef Documentation

Definition at line 982 of file flow_entry.h.

typedef std::map<uint16_t , PortCacheEntryList> PortCacheTable::PortCacheTree

Definition at line 983 of file flow_entry.h.

Constructor & Destructor Documentation

PortCacheTable::PortCacheTable ( PortTable table)

Definition at line 3768 of file flow_entry.cc.

Here is the call graph for this function:

PortCacheTable::~PortCacheTable ( )

Definition at line 3779 of file flow_entry.cc.

Here is the call graph for this function:

Member Function Documentation

void PortCacheTable::Add ( const PortCacheEntry cache_entry)

Definition at line 3831 of file flow_entry.cc.

Here is the call graph for this function:

bool PortCacheTable::Age ( )
private

Definition at line 3784 of file flow_entry.cc.

Here is the call graph for this function:

void PortCacheTable::Delete ( const PortCacheEntry cache_entry)

Definition at line 3840 of file flow_entry.cc.

Here is the call graph for this function:

const PortCacheEntry * PortCacheTable::Find ( const FlowKey key) const

Definition at line 3862 of file flow_entry.cc.

Here is the call graph for this function:

void PortCacheTable::MarkDelete ( const PortCacheEntry cache_entry)

Definition at line 3852 of file flow_entry.cc.

Here is the call graph for this function:

void PortCacheTable::set_timeout ( uint64_t  timeout)
inline

Definition at line 993 of file flow_entry.h.

void PortCacheTable::StartTimer ( )
private

Definition at line 3822 of file flow_entry.cc.

Here is the call graph for this function:

void PortCacheTable::StopTimer ( )
private

Definition at line 3827 of file flow_entry.cc.

Here is the call graph for this function:

Member Data Documentation

uint16_t PortCacheTable::hash_
private

Definition at line 1005 of file flow_entry.h.

const uint64_t PortCacheTable::kAgingTimeout = 1000 * 1000 * 600
static

Definition at line 980 of file flow_entry.h.

const uint64_t PortCacheTable::kCacheAging = 1000
static

Definition at line 979 of file flow_entry.h.

PortTable* PortCacheTable::port_table_
private

Definition at line 1003 of file flow_entry.h.

uint64_t PortCacheTable::timeout_
private

Definition at line 1006 of file flow_entry.h.

Timer* PortCacheTable::timer_
private

Definition at line 1004 of file flow_entry.h.

PortCacheTree PortCacheTable::tree_
private

Definition at line 1002 of file flow_entry.h.


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