Public Types |
|
typedef map< MreSgKey, E * > | SgMap |
|
typedef map< MreGsKey, E * > | GsMap |
|
typedef SgMap::iterator | sg_iterator |
|
typedef GsMap::iterator | gs_iterator |
|
typedef SgMap::const_iterator | const_sg_iterator |
|
typedef GsMap::const_iterator | const_gs_iterator |
Public Member Functions |
|
| Mrt () |
| | Default constructor.
|
|
virtual | ~Mrt () |
| | Destructor.
|
| void | clear () |
| | Remove all multicast routing entries from the table.
|
| E * | insert (E *mre) |
| | Insert a multicast routing entry that was already created.
|
| int | remove (E *mre) |
| | Remove a multicast routing entry from the table.
|
| E * | find (const IPvX &source_addr, const IPvX &group_addr) const |
| | Find a multicast routing entry from the table.
|
| E * | find_source (const IPvX &source_addr) const |
| | Find the first multicast routing entry for a source address.
|
| E * | find_group (const IPvX &group_addr) const |
| | Find the first multicast routing entry for a group address.
|
| E * | find_source_by_prefix (const IPvXNet &prefix_s) const |
| | Find the first multicast routing entry for a source address prefix.
|
| E * | find_group_by_prefix (const IPvXNet &prefix_g) const |
| | Find the first multicast routing entry for a group address prefix.
|
| size_t | size () const |
| | Get the number of multicast routing entries in the table.
|
| const_sg_iterator | sg_begin () const |
| | Get an iterator for the first element in the source-group table.
|
| const_gs_iterator | gs_begin () const |
| | Get an iterator for the first element in the group-source table.
|
| const_sg_iterator | sg_end () const |
| | Get an iterator for the last element in the source-group table.
|
| const_gs_iterator | gs_end () const |
| | Get an iterator for the last element in the group-source table.
|
| const_sg_iterator | source_by_prefix_begin (const IPvXNet &prefix_s) const |
| | Find the source iterator for the first multicast routing entry for a source address prefix.
|
| const_sg_iterator | source_by_prefix_end (const IPvXNet &prefix_s) const |
| | Find the source iterator for the one-after-the-last multicast routing entry for a source address prefix.
|
| const_gs_iterator | group_by_prefix_begin (const IPvXNet &prefix_g) const |
| | Find the group iterator for the first multicast routing entry for a group address prefix.
|
| const_gs_iterator | group_by_prefix_end (const IPvXNet &prefix_g) const |
| | Find the group iterator for the one-after-the-last multicast routing entry for a group address prefix.
|
| const_sg_iterator | source_by_addr_begin (const IPvX &source_addr) const |
| | Find the source iterator for the first multicast routing entry for a source address.
|
| const_sg_iterator | source_by_addr_end (const IPvX &source_addr) const |
| | Find the source iterator for the one-after-the-last multicast routing entry for a source address.
|
| const_gs_iterator | group_by_addr_begin (const IPvX &group_addr) const |
| | Find the group iterator for the first multicast routing entry for a group address.
|
| const_gs_iterator | group_by_addr_end (const IPvX &group_addr) const |
| | Find the group iterator for the one-after-the-last multicast routing entry for a group address.
|
| const_gs_iterator | group_source_by_addr_begin (const IPvX &source_addr, const IPvX &group_addr) const |
| | Find the group iterator for the multicast routing entry for a source and a group address.
|
| const_sg_iterator | source_group_by_addr_begin (const IPvX &source_addr, const IPvX &group_addr) const |
| | Find the source iterator for the multicast routing entry for a source and a group address.
|
Private Attributes |
|
SgMap | _sg_table |
|
GsMap | _gs_table |
template<class E>
class Mrt< E >
Template class for Multicast Routing Table.