implementation of the forwarding table based on Bloom filters. This implementation consolidates each predicate into a BDD, which is then used for matching. More...
#include <bddbtable.h>
Public Member Functions | |
virtual void | ifconfig (if_t, const predicate &) throw (bad_constraint) |
Associates a predicate to an interface. | |
virtual void | match (const message &, MatchHandler &) const throw () |
Processes a message, calling the output() function on the given MatchHandler object for each matching interface. | |
virtual void | clear () throw () |
Clears the forwarding table. | |
virtual void | clear_recycle () throw () |
Clears the forwarding table. |
implementation of the forwarding table based on Bloom filters. This implementation consolidates each predicate into a BDD, which is then used for matching.
virtual void siena::BDDBTable::clear | ( | ) | throw () [virtual] |
Clears the forwarding table.
This method removes all the associations from the forwarding table and releases allocated memory. After a call to this method, the forwarding table is ready to be configured with ifconfig().
Implements siena::BDDBTableBase.
virtual void siena::BDDBTable::clear_recycle | ( | ) | throw () [virtual] |
Clears the forwarding table.
This method removes all the associations from the forwarding table recycling the allocated memory. After a call to this method, the forwarding table is ready to be configured with ifconfig().
Implements siena::BDDBTableBase.
virtual void siena::BDDBTable::ifconfig | ( | if_t | , | |
const predicate & | ||||
) | throw (bad_constraint) [virtual] |
Associates a predicate to an interface.
This is the method that constructs the forwarding table. This method must be called once for each interface, after the forwarding table is constructed or after it has been cleared. Using this method twice on the same interface without clearing the forwarding table has undefined effects.
Implements siena::BDDBTableBase.
virtual void siena::BDDBTable::match | ( | const message & | , | |
MatchHandler & | ||||
) | const throw () [virtual] |
Processes a message, calling the output() function on the given MatchHandler object for each matching interface.
Matches a message against the predicates stored in the forwarding table. The result is processed through the MatchHandler passed as a parameter to this function.
Notice that the forwarding table must be consolidated by calling siena::ForwardingTable::consolidate() before this function is called.
Implements siena::BDDBTableBase.