OpenSDN source code
LargeCommunityDB Class Reference

This class represents a database for managing LargeCommunity objects. It is used to store, deduplicate, and retrieve canonical instances of LargeCommunity. More...

#include <community.h>

Inheritance diagram for LargeCommunityDB:
Collaboration diagram for LargeCommunityDB:

Public Member Functions

 LargeCommunityDB (BgpServer *server)
 Constructs an instance of the class and links to the given BgpServer instance. More...
 
LargeCommunityPtr AppendAndLocate (const LargeCommunity *src, const LargeCommunity::LargeCommunityList &list)
 Append a list of LargeCommunity values to an existing attribute. More...
 
LargeCommunityPtr AppendAndLocate (const LargeCommunity *src, const LargeCommunity::LargeCommunityValue &value)
 Append a single LargeCommunity value to an existing attribute. More...
 
LargeCommunityPtr RemoveAndLocate (const LargeCommunity *src, const LargeCommunity::LargeCommunityList &list)
 Remove a list of LargeCommunity values from an existing attribute. More...
 
LargeCommunityPtr SetAndLocate (const LargeCommunity *src, const LargeCommunity::LargeCommunityList &list)
 Replace all values in a LargeCommunity with a new list. More...
 
- Public Member Functions inherited from BgpPathAttributeDB< LargeCommunity, LargeCommunityPtr, LargeCommunitySpec, LargeCommunityCompare, LargeCommunityDB >
 BgpPathAttributeDB (int hash_size=GetHashSize())
 
size_t Size ()
 
void Delete (LargeCommunity *attr)
 
LargeCommunityPtr Locate (LargeCommunity *attr)
 
LargeCommunityPtr Locate (const LargeCommunitySpec &spec)
 

Detailed Description

This class represents a database for managing LargeCommunity objects. It is used to store, deduplicate, and retrieve canonical instances of LargeCommunity.

Definition at line 679 of file community.h.

Constructor & Destructor Documentation

◆ LargeCommunityDB()

LargeCommunityDB::LargeCommunityDB ( BgpServer server)
explicit

Constructs an instance of the class and links to the given BgpServer instance.

Definition at line 1113 of file community.cc.

Member Function Documentation

◆ AppendAndLocate() [1/2]

LargeCommunityPtr LargeCommunityDB::AppendAndLocate ( const LargeCommunity src,
const LargeCommunity::LargeCommunityList list 
)

Append a list of LargeCommunity values to an existing attribute.

Definition at line 1116 of file community.cc.

Here is the call graph for this function:

◆ AppendAndLocate() [2/2]

LargeCommunityPtr LargeCommunityDB::AppendAndLocate ( const LargeCommunity src,
const LargeCommunity::LargeCommunityValue value 
)

Append a single LargeCommunity value to an existing attribute.

Definition at line 1129 of file community.cc.

Here is the call graph for this function:

◆ RemoveAndLocate()

LargeCommunityPtr LargeCommunityDB::RemoveAndLocate ( const LargeCommunity src,
const LargeCommunity::LargeCommunityList list 
)

Remove a list of LargeCommunity values from an existing attribute.

Definition at line 1136 of file community.cc.

Here is the call graph for this function:

◆ SetAndLocate()

LargeCommunityPtr LargeCommunityDB::SetAndLocate ( const LargeCommunity src,
const LargeCommunity::LargeCommunityList list 
)

Replace all values in a LargeCommunity with a new list.

Definition at line 1150 of file community.cc.

Here is the call graph for this function:

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