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

#include <mac_aging.h>

Collaboration diagram for MacAgingPartition:

Public Types

typedef WorkQueue
< MacLearningEntryRequestPtr
MacAgingQueue
 
typedef boost::shared_ptr
< MacAgingTable
MacAgingTablePtr
 
typedef std::pair< uint32_t,
MacAgingTablePtr
MacAgingTablePair
 
typedef std::map< uint32_t,
MacAgingTablePtr
MacAgingTableMap
 

Public Member Functions

 MacAgingPartition (Agent *agent, uint32_t id)
 
virtual ~MacAgingPartition ()
 
void Enqueue (MacLearningEntryRequestPtr req)
 
bool Run ()
 
bool RequestHandler (MacLearningEntryRequestPtr ptr)
 
void Add (MacLearningEntryPtr ptr)
 
void Delete (MacLearningEntryPtr ptr)
 
MacAgingTableFind (uint32_t id)
 

Static Public Attributes

static const uint32_t kMinIterationTimeout = 1 * 100
 

Private Member Functions

void DeleteVrf (uint32_t id)
 
 DISALLOW_COPY_AND_ASSIGN (MacAgingPartition)
 

Private Attributes

Agentagent_
 
uint32_t partition_id_
 
MacAgingQueue request_queue_
 
Timertimer_
 
tbb::mutex mutex_
 
MacAgingTableMap aging_table_map_
 

Friends

class MacAgingSandeshResp
 

Detailed Description

Definition at line 109 of file mac_aging.h.

Member Typedef Documentation

Definition at line 115 of file mac_aging.h.

Definition at line 114 of file mac_aging.h.

Definition at line 113 of file mac_aging.h.

Constructor & Destructor Documentation

MacAgingPartition::MacAgingPartition ( Agent agent,
uint32_t  id 
)

Definition at line 178 of file mac_aging.cc.

MacAgingPartition::~MacAgingPartition ( )
virtual

Definition at line 190 of file mac_aging.cc.

Here is the call graph for this function:

Member Function Documentation

void MacAgingPartition::Add ( MacLearningEntryPtr  ptr)

Definition at line 198 of file mac_aging.cc.

Here is the call graph for this function:

void MacAgingPartition::Delete ( MacLearningEntryPtr  ptr)

Definition at line 216 of file mac_aging.cc.

void MacAgingPartition::DeleteVrf ( uint32_t  id)
private

Definition at line 235 of file mac_aging.cc.

MacAgingPartition::DISALLOW_COPY_AND_ASSIGN ( MacAgingPartition  )
private
void MacAgingPartition::Enqueue ( MacLearningEntryRequestPtr  req)

Definition at line 194 of file mac_aging.cc.

Here is the call graph for this function:

MacAgingTable* MacAgingPartition::Find ( uint32_t  id)
inline

Definition at line 124 of file mac_aging.h.

bool MacAgingPartition::RequestHandler ( MacLearningEntryRequestPtr  ptr)

Definition at line 239 of file mac_aging.cc.

Here is the call graph for this function:

bool MacAgingPartition::Run ( void  )

Definition at line 223 of file mac_aging.cc.

Friends And Related Function Documentation

friend class MacAgingSandeshResp
friend

Definition at line 130 of file mac_aging.h.

Member Data Documentation

Agent* MacAgingPartition::agent_
private

Definition at line 131 of file mac_aging.h.

MacAgingTableMap MacAgingPartition::aging_table_map_
private

Definition at line 136 of file mac_aging.h.

const uint32_t MacAgingPartition::kMinIterationTimeout = 1 * 100
static

Definition at line 111 of file mac_aging.h.

tbb::mutex MacAgingPartition::mutex_
private

Definition at line 135 of file mac_aging.h.

uint32_t MacAgingPartition::partition_id_
private

Definition at line 132 of file mac_aging.h.

MacAgingQueue MacAgingPartition::request_queue_
private

Definition at line 133 of file mac_aging.h.

Timer* MacAgingPartition::timer_
private

Definition at line 134 of file mac_aging.h.


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