class XrlRibNotifier

Class to send RIP updates to RIB process. More...

 
LOGO
 Annotated List  Files  Globals  Hierarchy  Index  Top

Public Types

Public Methods

Public Members

Protected Methods

Protected Members


Detailed Description

This class periodically checks the UpdateQueue for updates and sends them to the RIB. Once an instance has been created, the startup() method should be called to register a routing table for RIP and begin checking for updates. Before being destructed, shutdown() should be called to remove the RIP routing table from the RIB.

The XrlRibNotifier may be in one of several states enumerated by RunStatus. Before startup(), an instances state is SERVICE_READY. Then when startup is called it transitions into INSTALLING_RIP_TABLE and transitions into SERVICE_RUNNING. When in SERVICE_RUNNING state updates are sent to the RIB. When shutdown() is called it enters UNINSTALLING_RIP_TABLE before entering SERVICE_SHUTDOWN. At any time it may fall into state SERVICE_FAILED if communication with the RIB fails.

typedef RibNotifierBase<A> Super

Super

static const uint32_t DEFAULT_INFLIGHT

DEFAULT_INFLIGHT

 XrlRibNotifier (EventLoop& e, UpdateQueue<A>& uq, XrlRouter& xr, uint32_t max_inflight = DEFAULT_INFLIGHT, uint32_t poll_ms = Super::DEFAULT_POLL_MS)

XrlRibNotifier

Constructor.

 XrlRibNotifier (EventLoop& e, UpdateQueue<A>& uq, XrlSender& xs, const string& class_name, const string& intance_name, uint32_t max_inflight = DEFAULT_INFLIGHT, uint32_t poll_ms = Super::DEFAULT_POLL_MS)

XrlRibNotifier

Constructor taking an XrlSender, a class name, and an instance name as arguments. These arguments are broken out for debugging instances, ie a fake XrlSender can be used to test behaviour of this class.

 ~XrlRibNotifier ()

~XrlRibNotifier

bool  startup ()

startup

Request RIB instantiates a RIP routing table and once instantiated start passing route updates to RIB.

Returns: true on success, false on failure.

Reimplemented from ServiceBase.

bool  shutdown ()

shutdown

Stop forwarding route updates to RIB and request RIB unregisters RIP routing table.

Returns: true on success, false on failure.

Reimplemented from ServiceBase.

inline uint32_t  xrls_inflight ()

xrls_inflight

[const]

Accessor returning the current number of Xrls inflight.

inline uint32_t  max_xrls_inflight ()

max_xrls_inflight

[const]

Accessor returning the maximum number of Xrls inflight.

void  updates_available ()

updates_available

[protected]

Reimplemented from RibNotifierBase.

XrlSender& _xs

_xs

[protected]

string _cname

_cname

[protected]

string _iname

_iname

[protected]

const uint32_t _max_inflight

_max_inflight

[protected]

uint32_t _inflight

_inflight

[protected]

set<IPNet<A> > _ribnets

_ribnets

[protected]

template <typename A> inline uint32_t  xrls_inflight ()

xrls_inflight

[protected const]

template <typename A> inline uint32_t  max_xrls_inflight ()

max_xrls_inflight

[protected const]


Generated by: pavlin on possum.icir.org on Wed Apr 13 21:53:21 2005, using kdoc $.