Class GmsImpl

java.lang.Object
org.jgroups.protocols.pbcast.GmsImpl
Direct Known Subclasses:
ClientGmsImpl, ServerGmsImpl

public abstract class GmsImpl extends Object
  • Field Details

    • gms

      protected final GMS gms
    • merger

      protected final Merger merger
    • log

      protected final Log log
  • Constructor Details

    • GmsImpl

      protected GmsImpl(GMS gms)
  • Method Details

    • join

      public abstract void join(Address mbr, boolean useFlushIfPresent)
    • joinWithStateTransfer

      public abstract void joinWithStateTransfer(Address local_addr, boolean useFlushIfPresent)
    • leave

      public abstract void leave(Address mbr)
    • handleJoinResponse

      public void handleJoinResponse(JoinRsp join_rsp)
    • handleLeaveResponse

      public void handleLeaveResponse()
    • suspect

      public void suspect(Address mbr)
    • unsuspect

      public void unsuspect(Address mbr)
    • merge

      public void merge(Map<Address,View> views)
    • handleMergeRequest

      public void handleMergeRequest(Address sender, MergeId merge_id, Collection<? extends Address> mbrs)
    • handleMergeResponse

      public void handleMergeResponse(MergeData data, MergeId merge_id)
    • handleMergeView

      public void handleMergeView(MergeData data, MergeId merge_id)
    • handleMergeCancelled

      public void handleMergeCancelled(MergeId merge_id)
    • handleDigestResponse

      public void handleDigestResponse(Address sender, Digest digest)
    • handleMembershipChange

      public void handleMembershipChange(Collection<GmsImpl.Request> requests)
    • handleViewChange

      public void handleViewChange(View new_view, Digest digest)
    • init

      public void init() throws Exception
      Throws:
      Exception
    • start

      public void start() throws Exception
      Throws:
      Exception
    • stop

      public void stop()
    • sendMergeRejectedResponse

      protected void sendMergeRejectedResponse(Address sender, MergeId merge_id)
    • wrongMethod

      protected void wrongMethod(String method_name)
    • iWouldBeCoordinator

      protected boolean iWouldBeCoordinator(Vector<Address> new_mbrs)
      Returns potential coordinator based on lexicographic ordering of member addresses. Another approach would be to keep track of the primary partition and return the first member if we are the primary partition.