org.jboss.cache.buddyreplication
Interface BuddyLocator

All Known Implementing Classes:
NextMemberBuddyLocator

public interface BuddyLocator

Buddy Locators help the BuddyManager select buddies for its buddy group.

Implementations of this class must declare a public no-arguments constructor.

Since:
1.4.0
Author:
Manik Surtani (manik@jboss.org)

Method Summary
 BuddyReplicationConfig.BuddyLocatorConfig getConfig()
          Gets the configuration for this BuddyLocator.
 void init(BuddyReplicationConfig.BuddyLocatorConfig config)
          Initialize this BuddyLocator.
 List<org.jgroups.Address> locateBuddies(Map<org.jgroups.Address,String> buddyPoolMap, List<org.jgroups.Address> currentMembership, org.jgroups.Address dataOwner)
          Choose a set of buddies for the given node.
 

Method Detail

getConfig

BuddyReplicationConfig.BuddyLocatorConfig getConfig()
Gets the configuration for this BuddyLocator.

Returns:
object encapsulating this object's configuration. Should not return null. If init(org.jboss.cache.config.BuddyReplicationConfig.BuddyLocatorConfig) has not been called or null was passed to it, the returned value should be the default config for the given BuddyLocator implementation.

init

void init(BuddyReplicationConfig.BuddyLocatorConfig config)
Initialize this BuddyLocator.

Parameters:
config - configuration for this BuddyLocator. May be null, in which case the implementation should use its default configuration.

locateBuddies

List<org.jgroups.Address> locateBuddies(Map<org.jgroups.Address,String> buddyPoolMap,
                                        List<org.jgroups.Address> currentMembership,
                                        org.jgroups.Address dataOwner)
Choose a set of buddies for the given node. Invoked when a change in cluster membership is detected.

Parameters:
buddyPoolMap - Map mapping nodes in the cluster to the "buddy pool" they have identified themselves as belonging too. A BuddyLocator implementation can use this information to preferentially assign buddies from the same buddy pool as dataOwner. May be null if buddy pools aren't configured.
currentMembership - List
of the current cluster members
dataOwner - Address of the node for which buddies should be selected
Returns:
List
of the nodes that should serve as buddies for dataOwner. Will not be null, may be empty.


Copyright © 2009 JBoss, a division of Red Hat. All Rights Reserved.