class IfMgrXrlReplicator

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

Definition#include <ifmgr_xrl_replicator.hh>
InheritsIfMgrCommandSinkBase [public ]
Inherited byIfMgrManagedXrlReplicator
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

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.

inline const string&  xrl_target_name ()

xrl_target_name

[const]

Accessor for xrl target name.

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

XrlSender& _s

_s

[protected]

string _tgt

_tgt

[protected]

IfMgrCommandFifoQueue _queue

_queue

[protected]

bool _pending

_pending

[protected]


Generated by: pavlin on possum.icir.org on Thu Nov 6 23:46:59 2003, using kdoc 2.0a54+XORP.