|
|
MribTable (int family)
| MribTable |
Constructor for table of a given address family.
Parameters:
family | the address family. |
~MribTable ()
| ~MribTable |
Destructor
typedef MribTableIterator iterator | iterator |
void clear ()
| clear |
Remove all entries (make the container empty).
Mrib * insert (const Mrib& mrib)
| insert |
Insert a copy of a Mrib entry.
Note: if there is an existing Mrib entry for the same prefix, the old entry is deleted.
Parameters:
mrib | the entry to insert. |
Returns: a pointer to the inserted entry on success, otherwise NULL.
void remove (const IPvXNet& dest_prefix)
| remove |
Remove from the table a Mrib entry for a given destination prefix.
Parameters:
dest_prefix | the destination prefix of the entry to remove. |
void remove (const Mrib& mrib)
| remove |
Remove a Mrib entry from the table.
Parameters:
mrib | a Mrib with information about the entry to remove. |
Mrib * find (const IPvX& address)
| find |
[const]
Find the longest prefix match for an address.
Parameters:
address | the lookup address. |
Returns: a pointer to the longest prefix Mrib match for address if exists, otherwise NULL.
Mrib * find_exact (const IPvXNet& dest_prefix)
| find_exact |
[const]
Find an exact match for a network address prefix.
Parameters:
dest_prefix | the lookup network address prefix. |
Returns: a pointer to the exact Mrib match for dest_prefix if exists, otherwise NULL.
iterator begin ()
| begin |
[const]
Get an iterator for the first element.
Returns: the iterator for the first element.
iterator end ()
| end |
[const]
Get an iterator for the last element.
Returns: the iterator for the last element.
void add_pending_insert (uint32_t tid, const Mrib& mrib)
| add_pending_insert |
Add a pending transaction to insert a Mrib entry from the table.
The operation is added to the list of pending transactions, but the entry itself is not added to the table (until MribTable::commit_pending_transactions() is called).
Parameters:
tid | the transaction ID. |
mrib | the Mrib entry that contains the information about the entry to add. |
void add_pending_remove (uint32_t tid, const Mrib& mrib)
| add_pending_remove |
Add a pending transaction to remove a Mrib entry from the table.
the operation is added to the list of pending transaction, but the entry itself is not removed from the table (until MribTable::commit_pending_transactions() is called).
Parameters:
tid | the transaction ID. |
mrib | the Mrib entry that contains the information about the entry to remove. |
void commit_pending_transactions (uint32_t tid)
| commit_pending_transactions |
Commit pending transactions for adding or removing Mrib entries for a given transaction ID.
All pending transactions to add/remove Mrib entries for a given transaction ID are processes (see MribTable::add_pending_insert() and MribTable::add_pending_remove()).
Parameters:
tid | the transaction ID of the entries to commit. |
void abort_pending_transactions (uint32_t tid)
| abort_pending_transactions |
Abort pending transactions for adding or removing Mrib entries for a given transaction ID.
Parameters:
tid | the transaction ID of the entries to abort. |
void abort_all_pending_transactions ()
| abort_all_pending_transactions |
Abort all pending transactions for adding or remove Mrib entries.
size_t size ()
| size |
[const]
Get the number of Mrib entries in the table.
Returns: the number of Mrib entries in the table.
Generated by: pavlin on possum.icir.org on Mon Jun 9 13:23:52 2003, using kdoc 2.0a54+XORP. |