class RegisterServer

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

 
LOGO
 Annotated List  Files  Globals  Hierarchy  Index  Top

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& module_name, const IPv4Net& net, const IPv4& nexthop, uint32_t metric, uint32_t admin_distance, const string& protocol_origin, 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, metric, or admin distance.

Parameters:

module_namethe 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.
admin_distancethe new admin distance of the route that changed.
protocol_originthe name of the protocol that originated this route.
multicasttrue indicates that the change occured in the multicast RIB, false indicates that it occured in the unicast RIB.
void  send_invalidate (const string& module_name, const IPv4Net& net, bool multicast)

send_invalidate

[virtual]

void  send_route_changed (const string& module_name, const IPv6Net& net, const IPv6& nexthop, uint32_t metric, uint32_t admin_distance, const string& protocol_origin, 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, metric, or admin distance.

Parameters:

module_namethe 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.
admin_distancethe new admin distance of the route that changed.
protocol_originthe name of the protocol that originated this route.
multicasttrue indicates that the change occured in the multicast RIB, false indicates that it occured in the unicast RIB.
void  send_invalidate (const string& module_name, const IPv6Net& 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:

module_namethe 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& module_name, 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 Aug 2 15:36:41 2006, using kdoc $.