class IfMgrXrlReplicator

Class that sends a configuration information to a remote mirror of IfMgr configuration state. More...

 
LOGO
 Annotated List  Files  Globals  Hierarchy  Index  Top

Public Types

Public Methods

Protected Methods

Protected Members


Detailed Description

The IfMgrXrlReplicator contains an IfMgrCommandFifoQueue and adds commands to it when IfMgrXrlReplicator::push is called. Invoking push also cranks the queue if an Xrl dispatch is not in progress. Cranking causes the Xrl at the head of the queue to be dispatched.

On the successful dispatch of an Xrl, the next command ready for dispatching as an Xrl is taken from the queue and dispatched if available. If no command is available, processing stops. If an Xrl dispatch fails, the overrideable method IfMgrXrlReplicator::xrl_error_event is called. After an error, the queue processing stops and the IfMgrXrlReplicator instance should in most cases be destructed.

typedef IfMgrCommandSinkBase::Cmd Cmd

Cmd

 IfMgrXrlReplicator (XrlSender& sender, const string& xrl_target_name)

IfMgrXrlReplicator

Constructor

void  push (const Cmd& cmd)

push

Add a command to be sent as an Xrl to the remote target.

Reimplemented from IfMgrCommandSinkBase.

void  crank_replicator ()

crank_replicator

Schedule the next Xrl dispatch.

const string&  xrl_target_name ()

xrl_target_name

[const]

Accessor for xrl target name.

bool  is_empty_queue ()

is_empty_queue

[const]

Test whether the queue with the commands is empty.

Returns: trie if the queue with the commans is empty, otherwise false.

void  crank_manager ()

crank_manager

[protected virtual]

Method invoked when it is time to schedule the next Xrl dispatch.

void  crank_manager_cb ()

crank_manager_cb

[protected virtual]

Method invoked when the previous Xrl dispatch has completed.

void  push_manager_queue ()

push_manager_queue

[protected virtual]

Method invoked when a command should be added to the manager's queue.

void  xrl_error_event (const XrlError& e)

xrl_error_event

[protected virtual]

Method invoked when an Xrl dispatch fails.

 IfMgrXrlReplicator ()

IfMgrXrlReplicator

[protected]

Not implemented

 IfMgrXrlReplicator (const IfMgrXrlReplicator&)

IfMgrXrlReplicator

[protected]

Not implemented

IfMgrXrlReplicator&  operator= (const IfMgrXrlReplicator&)

operator=

[protected]

Not implemented

Reimplemented from CallbackSafeObject.

XrlSender& _s

_s

[protected]

string _tgt

_tgt

[protected]

IfMgrCommandFifoQueue _queue

_queue

[protected]

bool _pending

_pending

[protected]


Generated by: pavlin on kobe.xorp.net on Wed Jan 7 19:10:54 2009, using kdoc 2.0a54+XORP.