|
xorp
|
A term is an atomic policy unit. More...
#include <term.hh>
Classes | |
| class | term_syntax_error |
| Exception thrown on a syntax error while parsing configuration. More... | |
Public Types | |
| enum | BLOCKS { SOURCE = 0, DEST, ACTION, LAST_BLOCK } |
| typedef ConfigNodeIdMap< Node * > | Nodes |
Public Member Functions | |
| Term (const string &name) | |
| const string & | name () const |
| void | set_term_end () |
| Perform operations at the end of the term. | |
| void | set_block (const uint32_t &block, const ConfigNodeId &order, const string &statement) |
| Updates the source/dest/action block of a term. | |
| void | del_block (const uint32_t &block, const ConfigNodeId &order) |
| Deletes statements in the location specified by order and block. | |
| void | set_block_end (uint32_t block) |
| Perform operations at the end of the block. | |
| const Element * | accept (Visitor &v) |
| Visitor implementation. | |
| Nodes & | source_nodes () |
| Nodes & | dest_nodes () |
| Nodes & | action_nodes () |
| const string & | from_protocol () const |
| Get the protocol name (in the "from" block). | |
| void | set_from_protocol (const string &v) |
| Set the protocol name (in the "from" block). | |
Static Public Member Functions | |
| static string | block2str (uint32_t num) |
| Convert block number to human readable form. | |
Private Member Functions | |
|
list< pair< ConfigNodeId, Node * > >::iterator | find_out_of_order_node (const uint32_t &block, const ConfigNodeId &order) |
Private Attributes | |
| string | _name |
| Nodes * | _block_nodes [3] |
| list< pair< ConfigNodeId, Node * > > | _out_of_order_nodes [3] |
| Nodes *& | _source_nodes |
| Nodes *& | _dest_nodes |
| Nodes *& | _action_nodes |
| string | _from_protocol |
A term is an atomic policy unit.
It is a complete specification of how a route needs to be matched, and what actions must be taken.
| Term::Term | ( | const string & | name | ) |
| name | term name. |
Visitor implementation.
| v | visitor used to visit this term. |
| Nodes& Term::action_nodes | ( | ) | [inline] |
| string Term::block2str | ( | uint32_t | num | ) | [static] |
Convert block number to human readable form.
| num | the block number. |
| void Term::del_block | ( | const uint32_t & | block, |
| const ConfigNodeId & | order | ||
| ) |
| Nodes& Term::dest_nodes | ( | ) | [inline] |
| const string& Term::from_protocol | ( | ) | const [inline] |
| const string& Term::name | ( | ) | const [inline] |
| void Term::set_block | ( | const uint32_t & | block, |
| const ConfigNodeId & | order, | ||
| const string & | statement | ||
| ) |
| void Term::set_block_end | ( | uint32_t | block | ) |
| void Term::set_from_protocol | ( | const string & | v | ) | [inline] |
| Nodes& Term::source_nodes | ( | ) | [inline] |