org.jgroups.protocols.pbcast

## Class ServerGmsImpl

- java.lang.Object
- - org.jgroups.protocols.pbcast.GmsImpl
  - - org.jgroups.protocols.pbcast.ServerGmsImpl

- Direct Known Subclasses:
    CoordGmsImpl, ParticipantGmsImpl

      public abstract class ServerGmsImpl
      extends GmsImpl

  Common super class for CoordGmsImpl and ParticipantGmsImpl
  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

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `ServerGmsImpl(GMS gms)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `handleDigestResponse(Address sender, Digest digest)`
    `void` | `handleMergeRequest(Address sender, MergeId merge_id, java.util.Collection<? extends Address> mbrs)` Get the view and digest and send back both (MergeData) in the form of a MERGE_RSP to the sender.
    `void` | `handleMergeView(MergeData data, MergeId merge_id)` If merge_id is not equal to this.merge_id then discard.

    - ### Methods inherited from class org.jgroups.protocols.pbcast.GmsImpl

      `handleJoinResponse, handleLeaveResponse, handleMembershipChange, handleMergeCancelled, handleMergeResponse, handleViewChange, init, iWouldBeCoordinator, join, joinWithStateTransfer, leave, merge, sendMergeRejectedResponse, start, stop, suspect, unsuspect, wrongMethod`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ServerGmsImpl

          protected ServerGmsImpl(GMS gms)

  - ### Method Detail

    - #### handleMergeRequest

          public void handleMergeRequest(Address sender,
                                MergeId merge_id,
                                java.util.Collection<? extends Address> mbrs)

      Get the view and digest and send back both (MergeData) in the form of a MERGE_RSP to the sender. If a merge is already in progress, send back a MergeData with the merge_rejected field set to true.
      Overrides:
        `handleMergeRequest` in class `GmsImpl`
      Parameters:
        `sender` - The address of the merge leader
        `merge_id` - The merge ID
        `mbrs` - The set of members from which we expect responses

    - #### handleMergeView

          public void handleMergeView(MergeData data,
                             MergeId merge_id)

      If merge_id is not equal to this.merge_id then discard. Else cast the view/digest to all members of this group.
      Overrides:
        `handleMergeView` in class `GmsImpl`

    - #### handleDigestResponse

          public void handleDigestResponse(Address sender,
                                  Digest digest)

      Overrides:
        `handleDigestResponse` in class `GmsImpl`

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