org.jgroups.protocols.pbcast

## Class ClientGmsImpl

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

    public class ClientGmsImpl
    extends GmsImpl

Client part of GMS. Whenever a new member wants to join a group, it starts in the CLIENT role. No multicasts to the group will be received and processed until the member has been joined and turned into a SERVER (either coordinator or participant, mostly just participant). This class only implements `Join` (called by clients who want to join a certain group, and `ViewChange` which is called by the coordinator that was contacted by this client, to tell the client what its initial membership is.

Version:
  $Revision: 1.78 $
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
Constructor and Description
`ClientGmsImpl(GMS g)`

### Method Summary

Methods
`void` `handleJoinResponse(JoinRsp join_rsp)`
`void` `init()`
`void` `join(Address address, boolean useFlushIfPresent)`
`void` `joinWithStateTransfer(Address local_addr, boolean useFlushIfPresent)`
`void` `leave(Address mbr)`

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

`handleDigestResponse, handleLeaveResponse, handleMembershipChange, handleMergeCancelled, handleMergeRequest, handleMergeResponse, handleMergeView, handleViewChange, iWouldBeCoordinator, 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

#### ClientGmsImpl

    public ClientGmsImpl(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 address,
            boolean useFlushIfPresent)

Specified by:
  `join` in class `GmsImpl`

#### joinWithStateTransfer

    public void joinWithStateTransfer(Address local_addr,
                             boolean useFlushIfPresent)

Specified by:
  `joinWithStateTransfer` in class `GmsImpl`

#### leave

    public void leave(Address mbr)

Specified by:
  `leave` in class `GmsImpl`

#### handleJoinResponse

    public void handleJoinResponse(JoinRsp join_rsp)

Overrides:
  `handleJoinResponse` in class `GmsImpl`