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 MAX_RETRIES

MAX_RETRIES

static const uint32_t RETRY_PAUSE_MS

RETRY_PAUSE_MS

void  start_running_tasks ()

start_running_tasks

[protected virtual]

void  start_next_task ()

start_next_task

[protected]

inline void  incr_task_count ()

incr_task_count

[protected]

inline void  decr_task_count ()

decr_task_count

[protected]

inline uint32_t  task_count ()

task_count

[protected const]

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 _tasks

_tasks

[protected]

uint32_t _n_tasks

_n_tasks

[protected]

template <typename A> const string&  xrl_target_name ()

xrl_target_name

[protected const]

template <typename A> const string&  cookie ()

cookie

[protected const]


Generated by: pavlin on possum.icir.org on Thu Mar 9 04:43:48 2006, using kdoc $.