| 
 | 
 | ||||||||||||||||
An AsPath is a list of AsSegments, each of which can be an AS_SET, AS_CONFED_SET, AS_SEQUENCE, or an AS_CONFED_SEQUENCE.
| typedef list <AsSegment>::const_iterator const_iterator | const_iterator | 
| typedef list <AsSegment>::iterator iterator | iterator | 
| AsPath () | AsPath | 
| AsPath (const char *as_path) throw(InvalidString) | AsPath | 
Initialize from a string in the format 1,2,(3,4,5),6,7,8,(9,10,11),12,13
| AsPath (const uint8_t* d, size_t len) throw(CorruptMessage) | AsPath | 
| AsPath (const AsPath &asp1, const AsPath &asp2) | AsPath | 
construct an aggregate from two AsPaths
| AsPath (const AsPath &a) | AsPath | 
| ~AsPath () | ~AsPath | 
| void  add_segment (const AsSegment& s) | add_segment | 
| void  prepend_segment (const AsSegment& s) | prepend_segment | 
| size_t  path_length () | path_length | 
[const]
| bool  contains (const AsNum& as_num) | contains | 
[const]
| const AsNum&  first_asnum () | first_asnum | 
[const]
| string  str () | str | 
[const]
| string  short_str () | short_str | 
[const]
| const AsSegment&  segment (size_t n) | segment | 
[const]
| size_t  num_segments () | num_segments | 
[const]
| const uint8_t * encode (size_t &len, uint8_t *buf) | encode | 
[const]
Convert from internal to external representation, with the correct representation for the original AS_PATH attribute. If there are any 4-byte AS numbers, they will be encoded as AS_TRAN.
If we do not pass a buffer (buf = 0), then the routine will allocate a new one; otherwise, len indicates the size of the input buffer, which must be large enough to store the encoding.
Returns: the pointer to the buffer, len is the actual size.
| size_t  wire_size () | wire_size | 
[const]
Returns: the size of the list on the wire. XXX this should be made more efficient.
| void  prepend_as (const AsNum &asn) | prepend_as | 
Add the As number to the begining of the AS_SEQUENCE that starts the As path, or if the AsPath starts with an AS_SET, then add a new AS_SEQUENCE with the new AsNum to the start of the AsPath
| void  prepend_confed_as (const AsNum &asn) | prepend_confed_as | 
Add the As number to the begining of the AS_CONFED_SEQUENCE that starts the As path, or if the AsPath does not start with an AS_CONFED_SEQUENCE, then add a new AS_CONFED_SEQUENCE with the new AsNum to the start of the AsPath
| void  remove_confed_segments () | remove_confed_segments | 
remove all confederation segments from aspath
| bool  contains_confed_segments () | contains_confed_segments | 
[const]
Returns: true if the AS_PATH Contains confederation segments.
| bool  operator== (const AsPath& him) | operator== | 
[const]
| bool  operator< (const AsPath& him) | operator< | 
[const]
| void  encode_for_mib (vector<uint8_t>& aspath) | encode_for_mib | 
[const]
| bool  two_byte_compatible () | two_byte_compatible | 
[const]
returns true if the AS path does not lose information when represented entirely as two-byte AS numbers
| list <AsSegment> _segments | _segments | 
[protected]
| size_t _num_segments | _num_segments | 
[protected]
| size_t _path_len | _path_len | 
[protected]