Class CoordGmsImpl


public class CoordGmsImpl extends ServerGmsImpl
Coordinator role of the Group MemberShip (GMS) protocol. Accepts JOIN and LEAVE requests and emits view changes accordingly.
Author:
Bela Ban
  • Constructor Details

    • CoordGmsImpl

      public CoordGmsImpl(GMS g)
  • Method Details

    • getMergeId

      public MergeId getMergeId()
    • init

      public void init() throws Exception
      Overrides:
      init in class GmsImpl
      Throws:
      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)
      The coordinator itself wants to leave the group
      Specified by:
      leave in class GmsImpl
    • suspect

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

      public void merge(Map<Address,View> views)
      Invoked upon receiving a MERGE event from the MERGE layer. Starts the merge protocol. See description of protocol in DESIGN.
      Overrides:
      merge in class GmsImpl
      Parameters:
      views - A List of different views detected by the merge protocol
    • handleMergeResponse

      public void handleMergeResponse(MergeData data, MergeId merge_id)
      Overrides:
      handleMergeResponse in class GmsImpl
    • handleMergeCancelled

      public void handleMergeCancelled(MergeId merge_id)
      Overrides:
      handleMergeCancelled in class GmsImpl
    • handleMembershipChange

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

      public void handleViewChange(View new_view, Digest digest)
      Called by the GMS when a VIEW is received.
      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
    • stop

      public void stop()
      Overrides:
      stop in class GmsImpl