class RegisterServer

RegisterServer handles communication of notifications to the clients that registered interest in changes affecting specific routes. More...

Definition#include <register_server.hh>
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Methods

Protected Methods

Protected Members


Detailed Description

RegisterServer handles communication of notifications to the clients that registered interest in changes affecting specific routes. As these notifications can sometimes be generated faster than the recipient can handle them, the notifications can be queued here.

 RegisterServer (XrlRouter* xrl_router)

RegisterServer

RegisterServer constructor

Parameters:
xrl_routerthe XRL router instance used to send and receive XRLs in this process.

 ~RegisterServer ()

~RegisterServer

[virtual]

RegisterServer destructor

void  send_route_changed (const string& modname, IPNet<IPv4> net, IPv4 nexthop, uint32_t metric, bool multicast)

send_route_changed

[virtual]

send_route_changed is called to communicate to another XRL module that routing information in which it had registered an interest has changed its nexthop or metric

Parameters:
modnamethe XRL target name of the module to notify.
netthe destination subnet of the route that changed.
nexthopthe new nexthop of the route that changed.
metricthe new routing protocol metric of the route that changed.
multicasttrue indicates that the change occured in the multicast RIB, false indicates that it occured in the unicast RIB.

void  send_invalidate (const string& modname, IPNet<IPv4> net, bool multicast)

send_invalidate

[virtual]

void  send_route_changed (const string& modname, IPNet<IPv6> net, IPv6 nexthop, uint32_t metric, bool multicast)

send_route_changed

[virtual]

send_route_changed is called to communicate to another XRL module that routing information in which it had registered an interest has changed its nexthop or metric

Parameters:
modnamethe XRL target name of the module to notify.
netthe destination subnet of the route that changed.
nexthopthe new nexthop of the route that changed.
metricthe new routing protocol metric of the route that changed.
multicasttrue indicates that the change occured in the multicast RIB, false indicates that it occured in the unicast RIB.

void  send_invalidate (const string& modname, IPNet<IPv6> net, bool multicast)

send_invalidate

[virtual]

send_invalidate is called to communicate to another XRL module that routing information in which it had registered an interest has changed in some unspecified way that has caused the registration to become invalid. The client must re-register to find out what really happened.

Parameters:
modnamethe XRL target name of the module to notify.
netthe valid_subnet of the route registration that is now invalid.
multicasttrue indicates that the change occured in the multicast RIB, false indicates that it occured in the unicast RIB.

void  flush ()

flush

[virtual]

See also: flush

void  add_entry_to_queue (const string& modname, NotifyQueueEntry *e)

add_entry_to_queue

[protected]

map <string, NotifyQueue*> _queuemap

_queuemap

[protected]

ResponseSender _response_sender

_response_sender

[protected]


Generated by: pavlin on possum.icir.org on Wed Dec 11 16:51:00 2002, using kdoc 2.0a54+XORP.