org.jgroups.protocols.pbcast
Class ParticipantGmsImpl

java.lang.Object
  extended by org.jgroups.protocols.pbcast.GmsImpl
      extended by org.jgroups.protocols.pbcast.ServerGmsImpl
          extended by org.jgroups.protocols.pbcast.ParticipantGmsImpl

public class ParticipantGmsImpl
extends ServerGmsImpl

Author:
Bela Ban

Nested Class Summary
 
Nested classes/interfaces inherited from class org.jgroups.protocols.pbcast.GmsImpl
GmsImpl.Request
 
Field Summary
 
Fields inherited from class org.jgroups.protocols.pbcast.GmsImpl
gms, log, merger
 
Constructor Summary
ParticipantGmsImpl(GMS g)
           
 
Method Summary
 void handleJoinResponse(JoinRsp join_rsp)
          In case we get a different JOIN_RSP from a previous JOIN_REQ sent by us (as a client), we simply apply the new view if it is greater than ours
 void handleLeaveResponse()
           
 void handleMembershipChange(java.util.Collection<GmsImpl.Request> requests)
           
 void handleViewChange(View new_view, Digest digest)
          If we are leaving, we have to wait for the view change (last msg in the current view) that excludes us before we can leave.
 void init()
           
 void join(Address mbr, boolean useFlushIfPresent)
           
 void joinWithStateTransfer(Address mbr, boolean useFlushIfPresent)
           
 void leave(Address mbr)
          Loop: determine coord.
 void suspect(Address mbr)
           
 void unsuspect(Address mbr)
          Removes previously suspected member from list of currently suspected members
 
Methods inherited from class org.jgroups.protocols.pbcast.ServerGmsImpl
handleDigestResponse, handleMergeRequest, handleMergeView
 
Methods inherited from class org.jgroups.protocols.pbcast.GmsImpl
handleMergeCancelled, handleMergeResponse, merge, sendMergeRejectedResponse, start, stop, wrongMethod
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ParticipantGmsImpl

public ParticipantGmsImpl(GMS g)
Method Detail

init

public void init()
          throws java.lang.Exception
Overrides:
init in class GmsImpl
Throws:
java.lang.Exception

join

public void join(Address mbr,
                 boolean useFlushIfPresent)
Specified by:
join in class GmsImpl

joinWithStateTransfer

public void joinWithStateTransfer(Address mbr,
                                  boolean useFlushIfPresent)
Specified by:
joinWithStateTransfer in class GmsImpl

leave

public void leave(Address mbr)
Loop: determine coord. If coord is me --> handleLeave(). Else send handleLeave() to coord until success

Specified by:
leave in class GmsImpl

handleJoinResponse

public void handleJoinResponse(JoinRsp join_rsp)
In case we get a different JOIN_RSP from a previous JOIN_REQ sent by us (as a client), we simply apply the new view if it is greater than ours

Overrides:
handleJoinResponse in class GmsImpl
Parameters:
join_rsp -

handleLeaveResponse

public void handleLeaveResponse()
Overrides:
handleLeaveResponse in class GmsImpl

suspect

public void suspect(Address mbr)
Overrides:
suspect in class GmsImpl

unsuspect

public void unsuspect(Address mbr)
Removes previously suspected member from list of currently suspected members

Overrides:
unsuspect in class GmsImpl

handleMembershipChange

public void handleMembershipChange(java.util.Collection<GmsImpl.Request> requests)
Overrides:
handleMembershipChange in class GmsImpl

handleViewChange

public void handleViewChange(View new_view,
                             Digest digest)
If we are leaving, we have to wait for the view change (last msg in the current view) that excludes us before we can leave.

Overrides:
handleViewChange in class GmsImpl
Parameters:
new_view - The view to be installed
digest - If view is a MergeView, digest contains the seqno digest of all members and has to be set by GMS


Copyright © 1998-2012 Bela Ban / Red Hat. All Rights Reserved.