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

#include <flow_mgmt_tree.h>

Inheritance diagram for VnFlowMgmtTree:
Collaboration diagram for VnFlowMgmtTree:

Public Member Functions

 VnFlowMgmtTree (FlowMgmtManager *mgr)
 
virtual ~VnFlowMgmtTree ()
 
void ExtractKeys (FlowEntry *flow, FlowMgmtKeyTree *tree)
 
FlowMgmtEntryAllocate (const FlowMgmtKey *key)
 
void VnFlowCounters (const VnEntry *vn, uint32_t *ingress_flow_count, uint32_t *egress_flow_count)
 
void RemoveEntry (Tree::iterator it)
 
void InsertEntry (FlowMgmtKey *key, FlowMgmtEntry *entry)
 
- Public Member Functions inherited from FlowMgmtTree
 FlowMgmtTree (FlowMgmtManager *mgr)
 
virtual ~FlowMgmtTree ()
 
virtual bool Add (FlowMgmtKey *key, FlowEntry *flow, FlowMgmtKeyNode *node)
 
virtual bool Delete (FlowMgmtKey *key, FlowEntry *flow, FlowMgmtKeyNode *node)
 
virtual bool OperEntryAdd (const FlowMgmtRequest *req, FlowMgmtKey *key)
 
virtual bool OperEntryChange (const FlowMgmtRequest *req, FlowMgmtKey *key)
 
virtual bool OperEntryDelete (const FlowMgmtRequest *req, FlowMgmtKey *key)
 
virtual bool RetryDelete (FlowMgmtKey *key)
 
virtual void FreeNotify (FlowMgmtKey *key, uint32_t gen_id)
 
FlowMgmtEntryLocate (FlowMgmtKey *key)
 
FlowMgmtEntryFind (FlowMgmtKey *key)
 
FlowMgmtKeyLowerBound (FlowMgmtKey *key)
 
Treetree ()
 
FlowMgmtManagermgr () const
 

Private Member Functions

 DISALLOW_COPY_AND_ASSIGN (VnFlowMgmtTree)
 

Private Attributes

tbb::mutex mutex_
 

Additional Inherited Members

- Public Types inherited from FlowMgmtTree
typedef std::map< FlowMgmtKey
*, FlowMgmtEntry
*, FlowMgmtKeyCmp
Tree
 
- Static Public Member Functions inherited from FlowMgmtTree
static bool AddFlowMgmtKey (FlowMgmtKeyTree *tree, FlowMgmtKey *key)
 
- Protected Member Functions inherited from FlowMgmtTree
bool TryDelete (FlowMgmtKey *key, FlowMgmtEntry *entry)
 
- Protected Attributes inherited from FlowMgmtTree
Tree tree_
 
FlowMgmtManagermgr_
 

Detailed Description

Definition at line 94 of file flow_mgmt_tree.h.

Constructor & Destructor Documentation

VnFlowMgmtTree::VnFlowMgmtTree ( FlowMgmtManager mgr)
inline

Definition at line 96 of file flow_mgmt_tree.h.

virtual VnFlowMgmtTree::~VnFlowMgmtTree ( )
inlinevirtual

Definition at line 97 of file flow_mgmt_tree.h.

Member Function Documentation

FlowMgmtEntry * VnFlowMgmtTree::Allocate ( const FlowMgmtKey key)
virtual

Implements FlowMgmtTree.

Definition at line 307 of file flow_mgmt_tree.cc.

VnFlowMgmtTree::DISALLOW_COPY_AND_ASSIGN ( VnFlowMgmtTree  )
private
void VnFlowMgmtTree::ExtractKeys ( FlowEntry flow,
FlowMgmtKeyTree tree 
)
virtual

Implements FlowMgmtTree.

Definition at line 300 of file flow_mgmt_tree.cc.

Here is the call graph for this function:

void VnFlowMgmtTree::InsertEntry ( FlowMgmtKey key,
FlowMgmtEntry entry 
)
virtual

Reimplemented from FlowMgmtTree.

Definition at line 311 of file flow_mgmt_tree.cc.

Here is the call graph for this function:

void VnFlowMgmtTree::RemoveEntry ( Tree::iterator  it)
virtual

Reimplemented from FlowMgmtTree.

Definition at line 316 of file flow_mgmt_tree.cc.

Here is the call graph for this function:

void VnFlowMgmtTree::VnFlowCounters ( const VnEntry vn,
uint32_t *  ingress_flow_count,
uint32_t *  egress_flow_count 
)

Definition at line 321 of file flow_mgmt_tree.cc.

Here is the call graph for this function:

Member Data Documentation

tbb::mutex VnFlowMgmtTree::mutex_
private

Definition at line 111 of file flow_mgmt_tree.h.


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