|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.cassandra.gms.Gossiper
public class Gossiper
This module is responsible for Gossiping information for the local endpoint. This abstraction maintains the list of live and dead endpoints. Periodically i.e. every 1 second this module chooses a random node and initiates a round of Gossip with it. A round of Gossip involves 3 rounds of messaging. For instance if node A wants to initiate a round of Gossip with node B it starts off by sending node B a GossipDigestSynMessage. Node B on receipt of this message sends node A a GossipDigestAckMessage. On receipt of this message node A sends node B a GossipDigestAck2Message which completes a round of Gossip. This module as and when it hears one of the three above mentioned messages updates the Failure Detector with the liveness information.
Field Summary | |
---|---|
static Gossiper |
instance
|
static int |
intervalInMillis_
|
Method Summary | |
---|---|
void |
addLocalApplicationState(ApplicationState state,
VersionedValue value)
|
void |
addSavedEndpoint(java.net.InetAddress ep)
Add an endpoint we knew about previously, but whose state is unknown |
int |
compareEndpointStartup(java.net.InetAddress addr1,
java.net.InetAddress addr2)
determine which endpoint started up earlier |
void |
convict(java.net.InetAddress endpoint)
This method is part of IFailureDetectionEventListener interface. |
int |
getCurrentGenerationNumber(java.net.InetAddress endpoint)
|
java.util.Set<java.net.InetAddress> |
getLiveMembers()
|
java.util.Set<java.net.InetAddress> |
getUnreachableMembers()
|
void |
initializeNodeUnsafe(java.net.InetAddress addr,
int generationNbr)
This should *only* be used for testing purposes. |
boolean |
isKnownEndpoint(java.net.InetAddress endpoint)
|
void |
register(IEndpointStateChangeSubscriber subscriber)
Register for interesting state changes. |
void |
removeEndpoint(java.net.InetAddress endpoint)
Removes the endpoint completely from Gossip |
void |
start(java.net.InetAddress localEndpoint,
int generationNbr)
Start the gossiper with the generation # retrieved from the System table |
void |
stop()
|
void |
unregister(IEndpointStateChangeSubscriber subscriber)
Unregister interest for state changes. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int intervalInMillis_
public static final Gossiper instance
Method Detail |
---|
public void register(IEndpointStateChangeSubscriber subscriber)
subscriber
- module which implements the IEndpointStateChangeSubscriberpublic void unregister(IEndpointStateChangeSubscriber subscriber)
subscriber
- module which implements the IEndpointStateChangeSubscriberpublic java.util.Set<java.net.InetAddress> getLiveMembers()
public java.util.Set<java.net.InetAddress> getUnreachableMembers()
public void convict(java.net.InetAddress endpoint)
convict
in interface IFailureDetectionEventListener
endpoint
- endpoint to be convictedpublic void removeEndpoint(java.net.InetAddress endpoint)
public boolean isKnownEndpoint(java.net.InetAddress endpoint)
public int getCurrentGenerationNumber(java.net.InetAddress endpoint)
public int compareEndpointStartup(java.net.InetAddress addr1, java.net.InetAddress addr2)
public void start(java.net.InetAddress localEndpoint, int generationNbr)
public void addSavedEndpoint(java.net.InetAddress ep)
public void addLocalApplicationState(ApplicationState state, VersionedValue value)
public void stop()
public void initializeNodeUnsafe(java.net.InetAddress addr, int generationNbr)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |