OpenSDN source code
MacAgingPartition Class Reference

#include <mac_aging.h>

Collaboration diagram for MacAgingPartition:

Public Types

typedef WorkQueue< MacLearningEntryRequestPtrMacAgingQueue
 
typedef boost::shared_ptr< MacAgingTableMacAgingTablePtr
 
typedef std::pair< uint32_t, MacAgingTablePtrMacAgingTablePair
 
typedef std::map< uint32_t, MacAgingTablePtrMacAgingTableMap
 

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

◆ MacAgingQueue

◆ MacAgingTableMap

Definition at line 115 of file mac_aging.h.

◆ MacAgingTablePair

Definition at line 114 of file mac_aging.h.

◆ MacAgingTablePtr

Definition at line 113 of file mac_aging.h.

Constructor & Destructor Documentation

◆ MacAgingPartition()

MacAgingPartition::MacAgingPartition ( Agent agent,
uint32_t  id 
)

Definition at line 178 of file mac_aging.cc.

◆ ~MacAgingPartition()

MacAgingPartition::~MacAgingPartition ( )
virtual

Definition at line 190 of file mac_aging.cc.

Here is the call graph for this function:

Member Function Documentation

◆ Add()

void MacAgingPartition::Add ( MacLearningEntryPtr  ptr)

Definition at line 198 of file mac_aging.cc.

Here is the call graph for this function:

◆ Delete()

void MacAgingPartition::Delete ( MacLearningEntryPtr  ptr)

Definition at line 216 of file mac_aging.cc.

◆ DeleteVrf()

void MacAgingPartition::DeleteVrf ( uint32_t  id)
private

Definition at line 235 of file mac_aging.cc.

◆ DISALLOW_COPY_AND_ASSIGN()

MacAgingPartition::DISALLOW_COPY_AND_ASSIGN ( MacAgingPartition  )
private

◆ Enqueue()

void MacAgingPartition::Enqueue ( MacLearningEntryRequestPtr  req)

Definition at line 194 of file mac_aging.cc.

Here is the call graph for this function:

◆ Find()

MacAgingTable* MacAgingPartition::Find ( uint32_t  id)
inline

Definition at line 124 of file mac_aging.h.

◆ RequestHandler()

bool MacAgingPartition::RequestHandler ( MacLearningEntryRequestPtr  ptr)

Definition at line 239 of file mac_aging.cc.

Here is the call graph for this function:

◆ Run()

bool MacAgingPartition::Run ( void  )

Definition at line 223 of file mac_aging.cc.

Friends And Related Function Documentation

◆ MacAgingSandeshResp

friend class MacAgingSandeshResp
friend

Definition at line 130 of file mac_aging.h.

Member Data Documentation

◆ agent_

Agent* MacAgingPartition::agent_
private

Definition at line 131 of file mac_aging.h.

◆ aging_table_map_

MacAgingTableMap MacAgingPartition::aging_table_map_
private

Definition at line 136 of file mac_aging.h.

◆ kMinIterationTimeout

const uint32_t MacAgingPartition::kMinIterationTimeout = 1 * 100
static

Definition at line 111 of file mac_aging.h.

◆ mutex_

tbb::mutex MacAgingPartition::mutex_
private

Definition at line 135 of file mac_aging.h.

◆ partition_id_

uint32_t MacAgingPartition::partition_id_
private

Definition at line 132 of file mac_aging.h.

◆ request_queue_

MacAgingQueue MacAgingPartition::request_queue_
private

Definition at line 133 of file mac_aging.h.

◆ timer_

Timer* MacAgingPartition::timer_
private

Definition at line 134 of file mac_aging.h.


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