class PathAttributeList

PathAttributeList is used to handle efficiently path attribute lists. More...

 
LOGO
 Annotated List  Files  Globals  Hierarchy  Index  Top

Public Types

Public Methods


Detailed Description

PathAttributeList is used to handle efficiently path attribute lists.

An object in the class is initialized from explicit PathAttribute objects passed in by reference. The initialization creates a copy of the attribute, links it into a list, and for mandatory attributes it also stores a pointer to the newly created attribute into a class member (e.g. _aspath_att ...) for ease of use.

typedef list<PathAttribute*>::const_iterator const_iterator

const_iterator

typedef list<PathAttribute*>::iterator iterator

iterator

 PathAttributeList ()

PathAttributeList

 PathAttributeList (const NextHopAttribute<A> &nexthop, const ASPathAttribute &aspath, const OriginAttribute &origin)

PathAttributeList

 PathAttributeList (const PathAttributeList<A>& palist)

PathAttributeList

 ~PathAttributeList ()

~PathAttributeList

void  add_path_attribute (const PathAttribute &att)

add_path_attribute

Add this path attribute to the list after making a local copy.

void  add_path_attribute (PathAttribute *att)

add_path_attribute

Add this path attribute to the list don't make a local copy.

const A&  nexthop ()

nexthop

[const]

const AsPath&  aspath ()

aspath

[const]

const uint8_t  origin ()

origin

[const]

const MEDAttribute*  med_att ()

med_att

[const]

const LocalPrefAttribute*  local_pref_att ()

local_pref_att

[const]

const AtomicAggAttribute*  atomic_aggregate_att ()

atomic_aggregate_att

[const]

const AggregatorAttribute*  aggregator_att ()

aggregator_att

[const]

void  rehash ()

rehash

const uint8_t*  hash ()

hash

[const]

bool  complete ()

complete

[const]

void  replace_nexthop (const A& nexthop)

replace_nexthop

void  replace_AS_path (const AsPath& as_path)

replace_AS_path

void  remove_attribute_by_type (PathAttType type)

remove_attribute_by_type

void  remove_attribute_by_pointer (PathAttribute*)

remove_attribute_by_pointer

void  process_unknown_attributes ()

process_unknown_attributes

For unknown attributes: 1) If transitive set the partial bit. 2) If not transitive remove.

string  str ()

str

[const]

bool  operator< (const PathAttributeList<A> &them)

operator<

[const]

bool  operator== (const PathAttributeList<A> &them)

operator==

[const]


Generated by: pavlin on possum.icir.org on Wed Apr 13 21:53:16 2005, using kdoc $.