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

#include <mac_learning.h>

Inheritance diagram for MacPbbLearningEntry:
Collaboration diagram for MacPbbLearningEntry:

Public Types

typedef std::vector< TokenPtrTokenList
 

Public Member Functions

 MacPbbLearningEntry (MacLearningPartition *table, uint32_t vrf_id, const MacAddress &mac, uint32_t index)
 
virtual ~MacPbbLearningEntry ()
 
virtual bool Add ()=0
 
virtual void Delete ()
 
virtual void Resync ()
 
virtual void AddWithToken ()
 
MacLearningPartitionmac_learning_table () const
 
uint32_t index () const
 
const MacAddressmac () const
 
uint32_t vrf_id ()
 
const MacLearningKeykey () const
 
void AddToken (TokenPtr ptr)
 
void ReleaseToken ()
 
void CopyToken (MacLearningEntry *entry)
 
bool HasTokens ()
 
void EnqueueToTable (MacLearningEntryRequestPtr req)
 
- Public Member Functions inherited from MacLearningEntry
 MacLearningEntry (uint32_t vrf_id)
 
virtual ~MacLearningEntry ()
 
VrfEntryvrf () const
 
bool deleted () const
 

Protected Attributes

MacLearningPartitionmac_learning_table_
 
MacLearningKey key_
 
uint32_t index_
 
uint32_t ethernet_tag_
 
TokenList list_
 
tbb::mutex mutex_
 
- Protected Attributes inherited from MacLearningEntry
VrfEntryRef vrf_
 
bool deleted_
 

Private Member Functions

 DISALLOW_COPY_AND_ASSIGN (MacPbbLearningEntry)
 

Detailed Description

Definition at line 77 of file mac_learning.h.

Member Typedef Documentation

Definition at line 79 of file mac_learning.h.

Constructor & Destructor Documentation

MacPbbLearningEntry::MacPbbLearningEntry ( MacLearningPartition table,
uint32_t  vrf_id,
const MacAddress mac,
uint32_t  index 
)

Definition at line 20 of file mac_learning.cc.

Here is the call graph for this function:

virtual MacPbbLearningEntry::~MacPbbLearningEntry ( )
inlinevirtual

Definition at line 82 of file mac_learning.h.

Member Function Documentation

virtual bool MacPbbLearningEntry::Add ( )
pure virtual
void MacPbbLearningEntry::AddToken ( TokenPtr  ptr)
inlinevirtual

Reimplemented from MacLearningEntry.

Definition at line 108 of file mac_learning.h.

void MacPbbLearningEntry::AddWithToken ( )
virtual

Reimplemented from MacLearningEntry.

Definition at line 38 of file mac_learning.cc.

Here is the call graph for this function:

void MacPbbLearningEntry::CopyToken ( MacLearningEntry entry)
inlinevirtual

Reimplemented from MacLearningEntry.

Definition at line 118 of file mac_learning.h.

void MacPbbLearningEntry::Delete ( )
virtual

Implements MacLearningEntry.

Definition at line 28 of file mac_learning.cc.

Here is the call graph for this function:

MacPbbLearningEntry::DISALLOW_COPY_AND_ASSIGN ( MacPbbLearningEntry  )
private
void MacPbbLearningEntry::EnqueueToTable ( MacLearningEntryRequestPtr  req)
virtual

Implements MacLearningEntry.

Definition at line 52 of file mac_learning.cc.

Here is the call graph for this function:

bool MacPbbLearningEntry::HasTokens ( )
inlinevirtual

Reimplemented from MacLearningEntry.

Definition at line 127 of file mac_learning.h.

uint32_t MacPbbLearningEntry::index ( ) const
inline

Definition at line 92 of file mac_learning.h.

const MacLearningKey& MacPbbLearningEntry::key ( ) const
inline

Definition at line 104 of file mac_learning.h.

const MacAddress& MacPbbLearningEntry::mac ( ) const
inline

Definition at line 96 of file mac_learning.h.

MacLearningPartition* MacPbbLearningEntry::mac_learning_table ( ) const
inline

Definition at line 88 of file mac_learning.h.

void MacPbbLearningEntry::ReleaseToken ( )
inlinevirtual

Reimplemented from MacLearningEntry.

Definition at line 113 of file mac_learning.h.

void MacPbbLearningEntry::Resync ( )
virtual

Implements MacLearningEntry.

Definition at line 45 of file mac_learning.cc.

Here is the call graph for this function:

uint32_t MacPbbLearningEntry::vrf_id ( )
inlinevirtual

Implements MacLearningEntry.

Definition at line 100 of file mac_learning.h.

Member Data Documentation

uint32_t MacPbbLearningEntry::ethernet_tag_
protected

Definition at line 137 of file mac_learning.h.

uint32_t MacPbbLearningEntry::index_
protected

Definition at line 136 of file mac_learning.h.

MacLearningKey MacPbbLearningEntry::key_
protected

Definition at line 135 of file mac_learning.h.

TokenList MacPbbLearningEntry::list_
protected

Definition at line 138 of file mac_learning.h.

MacLearningPartition* MacPbbLearningEntry::mac_learning_table_
protected

Definition at line 134 of file mac_learning.h.

tbb::mutex MacPbbLearningEntry::mutex_
protected

Definition at line 139 of file mac_learning.h.


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