org.codehaus.wadi.group.impl
Class AbstractCluster

java.lang.Object
  extended by org.codehaus.wadi.group.impl.AbstractCluster
All Implemented Interfaces:
Cluster

public abstract class AbstractCluster
extends java.lang.Object
implements Cluster


Field Summary
protected  java.util.Map<Address,Peer> addressToPeer
           
protected  java.util.Map<java.lang.Object,Peer> backendKeyToPeer
           
protected  java.lang.String clusterName
           
protected  Peer clusterPeer
           
static java.lang.ThreadLocal<Cluster> clusterThreadLocal
           
protected  AbstractDispatcher dispatcher
           
protected  LocalPeer localPeer
           
protected  java.lang.String localPeerName
           
protected  org.apache.commons.logging.Log log
           
 
Constructor Summary
AbstractCluster(java.lang.String clusterName, java.lang.String localPeerName, AbstractDispatcher dispatcher)
           
 
Method Summary
 void addClusterListener(ClusterListener listener)
           
protected abstract  Peer createPeerFromPeerSerialization(java.lang.Object backend)
           
protected abstract  java.lang.Object extractKeyFromPeerSerialization(java.lang.Object backend)
           
static Peer get(java.lang.Object serializedPeer)
           
 java.lang.String getClusterName()
           
 Dispatcher getDispatcher()
           
 Peer getPeer(java.lang.Object serializedPeer)
           
 int getPeerCount()
           
 Peer getPeerFromBackEndKey(java.lang.Object backEndKey)
           
 java.util.Map<Address,Peer> getRemotePeers()
           
protected  void notifyMembershipChanged(java.util.Set<Peer> joiners, java.util.Set<Peer> leavers)
           
 void removeClusterListener(ClusterListener listener)
           
 boolean waitOnMembershipCount(int membershipCount, long timeout)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.codehaus.wadi.group.Cluster
getAddress, getLocalPeer, getPeerFromAddress, start, stop
 

Field Detail

clusterThreadLocal

public static final java.lang.ThreadLocal<Cluster> clusterThreadLocal

log

protected final org.apache.commons.logging.Log log

addressToPeer

protected final java.util.Map<Address,Peer> addressToPeer

backendKeyToPeer

protected final java.util.Map<java.lang.Object,Peer> backendKeyToPeer

clusterName

protected final java.lang.String clusterName

localPeerName

protected final java.lang.String localPeerName

dispatcher

protected final AbstractDispatcher dispatcher

clusterPeer

protected Peer clusterPeer

localPeer

protected LocalPeer localPeer
Constructor Detail

AbstractCluster

public AbstractCluster(java.lang.String clusterName,
                       java.lang.String localPeerName,
                       AbstractDispatcher dispatcher)
Method Detail

getClusterName

public java.lang.String getClusterName()
Specified by:
getClusterName in interface Cluster

getDispatcher

public Dispatcher getDispatcher()
Specified by:
getDispatcher in interface Cluster

getRemotePeers

public java.util.Map<Address,Peer> getRemotePeers()
Specified by:
getRemotePeers in interface Cluster

getPeerCount

public int getPeerCount()
Specified by:
getPeerCount in interface Cluster

waitOnMembershipCount

public boolean waitOnMembershipCount(int membershipCount,
                                     long timeout)
                              throws java.lang.InterruptedException
Specified by:
waitOnMembershipCount in interface Cluster
Parameters:
membershipCount - - when membership reaches this number or we timeout this method will return
timeout - - the number of milliseconds to wait for membership to hit membershipCount
Returns:
whether or not expected membershipCount was hit within given time
Throws:
java.lang.InterruptedException

addClusterListener

public void addClusterListener(ClusterListener listener)
Specified by:
addClusterListener in interface Cluster

removeClusterListener

public void removeClusterListener(ClusterListener listener)
Specified by:
removeClusterListener in interface Cluster

notifyMembershipChanged

protected void notifyMembershipChanged(java.util.Set<Peer> joiners,
                                       java.util.Set<Peer> leavers)

get

public static Peer get(java.lang.Object serializedPeer)

getPeer

public Peer getPeer(java.lang.Object serializedPeer)

getPeerFromBackEndKey

public Peer getPeerFromBackEndKey(java.lang.Object backEndKey)

createPeerFromPeerSerialization

protected abstract Peer createPeerFromPeerSerialization(java.lang.Object backend)

extractKeyFromPeerSerialization

protected abstract java.lang.Object extractKeyFromPeerSerialization(java.lang.Object backend)


Copyright © 2010. All Rights Reserved.