RouteRange< A > Class Template Reference

Stores a Route and bounds on the validity of the route. More...

#include <rt_tab_base.hh>

List of all members.

Public Member Functions

 RouteRange (const A &req_addr, const IPRouteEntry< A > *route, const A &top, const A &bottom)
const A & top () const
const A & bottom () const
const IPRouteEntry< A > * route () const
const IPNet< A > & net () const
void merge (const RouteRange *his_rr)
 Merge this entry with another entry.
IPNet< A > minimal_subnet () const

Private Attributes

const IPRouteEntry< A > * _route

Detailed Description

template<class A>
class RouteRange< A >

Stores a Route and bounds on the validity of the route.

The RouteRange class is used to hold an annotated routing entry. It is used when the RegisterTable is registering interest in routing information associated with a specific address. It holds an IP address, the route that would be used to route that address, and the top and bottom addresses of the route range that includes that address for which this route applies without being overlayed by a more specific route. For example:

Suppose an OriginTable holds the routes and The address we're interested in is Then if we ask this OriginTable for the RouteRange for, we get:

address: route: the route for top: bottom:

I.e., the route for is, and this answer is also valid for addresses in the range to inclusive.

Member Function Documentation

template<class A>
void RouteRange< A >::merge ( const RouteRange< A > *  his_rr) [inline]

Merge this entry with another entry.

Replace route with the entry from rr if it is better, (XXX why ?) shrink the intervals if the other one is smaller.

his_rrthe entry to merge with.

The documentation for this class was generated from the following file:
 All Classes Namespaces Functions Variables Typedefs Enumerations