IfMgrXrlReplicationManager Class Reference

Class that builds and maintains replicator state for multiple remote targets. More...

#include <ifmgr_xrl_replicator.hh>

Inheritance diagram for IfMgrXrlReplicationManager:

List of all members.

Public Types

typedef IfMgrCommandSinkBase::Cmd Cmd

Public Member Functions

 IfMgrXrlReplicationManager (XrlRouter &rtr)
bool add_mirror (const string &xrl_target_name)
 Add a remote mirror.
bool remove_mirror (const string &xrl_target_name)
 Remove remote mirror.
void push (const Cmd &c)
 Apply command to local configuration tree and forward Xrls to targets to replicate state remotely if application to local tree succeeds.
void crank_replicators_queue ()
 Method invoked when it is time to schedule the next Xrl dispatch.
void crank_replicators_queue_cb ()
 Method invoked when the previous Xrl dispatch has completed.
void push_manager_queue (IfMgrManagedXrlReplicator *r)
 Method invoked when a command should be added to the manager's queue.
const IfMgrIfTreeiftree () const

Private Types

typedef list
< IfMgrManagedXrlReplicator * > 

Private Attributes

IfMgrIfTree _iftree
Outputs _outputs
Outputs _replicators_queue

Detailed Description

Class that builds and maintains replicator state for multiple remote targets.

Member Function Documentation

bool IfMgrXrlReplicationManager::add_mirror ( const string &  xrl_target_name)

Add a remote mirror.

The name of the mirror is added to list of known targets and immediately sent a copy of the configuration tree.

xrl_target_nametarget to be added.
true on success, false if target already exists.
bool IfMgrXrlReplicationManager::remove_mirror ( const string &  xrl_target_name)

Remove remote mirror.

xrl_target_nametarget to be removed.

The documentation for this class was generated from the following files:
 All Classes Namespaces Functions Variables Typedefs Enumerations