class RedistXrlOutput

Route Redistributor output that sends route add and deletes to remote redistribution target via the redist{4,6} xrl interfaces. More...

 
LOGO
 Annotated List  Files  Globals  Hierarchy  Index  Top

Public Types

Public Methods

Public Members

Protected Methods

Protected Members


Detailed Description

Route Redistributor output that sends route add and deletes to remote redistribution target via the redist{4,6} xrl interfaces.

typedef RedistXrlTask<A> Task

Task

typedef list<Task*> TaskQueue

TaskQueue

 RedistXrlOutput (Redistributor<A>* redistributor, XrlRouter& xrl_router, Profile& profile, const string& from_protocol, const string& xrl_target_name, const IPNet<A>& network_prefix, const string& cookie)

RedistXrlOutput

Constructor.

Parameters:

redistributororiginator of route add and delete requests.
xrl_routerrouter to be used to send XRLs.
from_protocolname of protocol routes are redistributed from.
xrl_target_namename of XRL entity to send XRLs to.
cookiecookie passed in redist interface XRLs to identify source of updates.
is_xrl_transaction_outputif true, the add/delete route XRLs are grouped into transactions.
 ~RedistXrlOutput ()

~RedistXrlOutput

void  add_route (const IPRouteEntry<A>& ipr)

add_route

Reimplemented from RedistOutput.

void  delete_route (const IPRouteEntry<A>& ipr)

delete_route

Reimplemented from RedistOutput.

void  starting_route_dump ()

starting_route_dump

Reimplemented from RedistOutput.

void  finishing_route_dump ()

finishing_route_dump

Reimplemented from RedistOutput.

void  task_completed (Task* task)

task_completed

[virtual]

void  task_failed_fatally (Task* task)

task_failed_fatally

inline const string&  xrl_target_name ()

xrl_target_name

[const]

inline const string&  cookie ()

cookie

[const]

static const uint32_t HI_WATER

HI_WATER

static const uint32_t LO_WATER

LO_WATER

static const uint32_t RETRY_PAUSE_MS

RETRY_PAUSE_MS

void  start_next_task ()

start_next_task

[protected]

inline void  incr_inflight ()

incr_inflight

[protected]

inline void  decr_inflight ()

decr_inflight

[protected]

inline void  enqueue_task (Task* task)

enqueue_task

[protected]

inline void  dequeue_task (Task* task)

dequeue_task

[protected]

XrlRouter& _xrl_router

_xrl_router

[protected]

Profile& _profile

_profile

[protected]

string _from_protocol

_from_protocol

[protected]

string _target_name

_target_name

[protected]

IPNet<A> _network_prefix

_network_prefix

[protected]

string _cookie

_cookie

[protected]

TaskQueue _taskq

_taskq

[protected]

uint32_t _queued

_queued

[protected]

TaskQueue _flyingq

_flyingq

[protected]

uint32_t _inflight

_inflight

[protected]

bool _flow_controlled

_flow_controlled

[protected]

bool _callback_pending

_callback_pending

[protected]

template <typename A> const string&  xrl_target_name ()

xrl_target_name

[protected const]

template <typename A> const string&  cookie ()

cookie

[protected const]

template <typename A> void  incr_inflight ()

incr_inflight

[protected]

template <typename A> void  decr_inflight ()

decr_inflight

[protected]


Generated by: pavlin on possum.icir.org on Wed Mar 21 11:24:02 2007, using kdoc $.