JavaGroups.JavaStack.Protocols
Class CoordGmsImpl

java.lang.Object
  |
  +--JavaGroups.JavaStack.Protocols.GmsImpl
        |
        +--JavaGroups.JavaStack.Protocols.CoordGmsImpl

public class CoordGmsImpl
extends GmsImpl


Constructor Summary
CoordGmsImpl()
           
 
Method Summary
static CoordGmsImpl CreateInstance(GMS gms)
           
 boolean HandleJoin(Address mbr)
           
 void HandleLeave(Address mbr, boolean suspected)
          Exclude mbr from the membership.
 void HandleMerge(java.util.Vector new_mbrs)
          Start the view change protocol.
 void HandleSuspect(Address mbr)
           
 void HandleViewChange(ViewId new_view, java.util.Vector mbrs)
           
 void Join(Address mbr)
           
 void Leave(Address mbr)
           
 void Merge(java.util.Vector new_mbrs)
          Invoked upon receiving a MERGE event from the MERGE layer.
 void Suspect(Address mbr)
           
 
Methods inherited from class JavaGroups.JavaStack.Protocols.GmsImpl
HandleDownEvent, HandleUpEvent
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CoordGmsImpl

public CoordGmsImpl()
Method Detail

CreateInstance

public static CoordGmsImpl CreateInstance(GMS gms)

Join

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

Leave

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

Suspect

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

Merge

public void Merge(java.util.Vector new_mbrs)
Invoked upon receiving a MERGE event from the MERGE layer. Computes a temporary new membership by merging and sorting the old and new members. If I happen to be the new coordinator (first member), then I will start the view installation process.
Overrides:
Merge in class GmsImpl

HandleJoin

public boolean HandleJoin(Address mbr)
Overrides:
HandleJoin in class GmsImpl

HandleLeave

public void HandleLeave(Address mbr,
                        boolean suspected)
Exclude mbr from the membership. If suspected is true, then this member crashed and therefore is forced to leave, otherwise it is leaving voluntarily.
Overrides:
HandleLeave in class GmsImpl

HandleViewChange

public void HandleViewChange(ViewId new_view,
                             java.util.Vector mbrs)
Overrides:
HandleViewChange in class GmsImpl

HandleMerge

public void HandleMerge(java.util.Vector new_mbrs)
Start the view change protocol. Essentially similar to HandleJoin(), but with multiple joiners.
Overrides:
HandleMerge in class GmsImpl

HandleSuspect

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