org.apache.ignite.internal.processors.cache

## Class WalStateAbstractMessage

- java.lang.Object
- - org.apache.ignite.internal.processors.cache.WalStateAbstractMessage

All Implemented Interfaces:
  Serializable, DiscoveryCustomMessage

Direct Known Subclasses:
  WalStateFinishMessage, WalStateProposeMessage

    public abstract class WalStateAbstractMessage
    extends Object
    implements DiscoveryCustomMessage

WAL state change abstract message.

See Also:
  Serialized Form

### Constructor Summary

Constructors
`protected` `WalStateAbstractMessage(UUID opId, int grpId, IgniteUuid grpDepId)` Constructor.

### Method Summary

All Methods Instance Methods Concrete Methods
`@Nullable DiscoveryCustomMessage` `ackMessage()` Called when custom message has been handled by all nodes.
`DiscoCache` `createDiscoCache(GridDiscoveryManager mgr, AffinityTopologyVersion topVer, DiscoCache discoCache)` Creates new discovery cache if message caused topology version change.
`@Nullable WalStateProposeMessage` `exchangeMessage()` Get exchange message.
`void` `exchangeMessage(WalStateProposeMessage exchangeMsg)` Set message that will be processed through exchange thread later on.
`IgniteUuid` `groupDeploymentId()`
`int` `groupId()`
`IgniteUuid` `id()`
`boolean` `isMutable()`
`boolean` `needExchange()`
`UUID` `operationId()`
`String` `toString()`

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

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

### Methods inherited from interface org.apache.ignite.internal.managers.discovery.DiscoveryCustomMessage

`stopProcess`

### Constructor Detail

#### WalStateAbstractMessage

    protected WalStateAbstractMessage(UUID opId,
                                      int grpId,
                                      IgniteUuid grpDepId)

Constructor.

Parameters:
  `opId` - Unique operation ID.
  `grpId` - Group ID.
  `grpDepId` - Group deployment ID.

### Method Detail

#### operationId

    public UUID operationId()

Returns:
  Unique operation ID.

#### groupId

    public int groupId()

Returns:
  Group ID.

#### groupDeploymentId

    public IgniteUuid groupDeploymentId()

Returns:
  Group deployment ID.

#### needExchange

    public boolean needExchange()

Returns:
  `True` if exchange is needed.

#### exchangeMessage

    @Nullable
    public @Nullable WalStateProposeMessage exchangeMessage()

Get exchange message.

Returns:
  Massage or `null` if no processing is required.

#### exchangeMessage

    public void exchangeMessage(WalStateProposeMessage exchangeMsg)

Set message that will be processed through exchange thread later on.

Parameters:
  `exchangeMsg` - Message.

#### id

    public IgniteUuid id()

Specified by:
  `id` in interface `DiscoveryCustomMessage`
Returns:
  Unique custom message ID.

#### ackMessage

    @Nullable
    public @Nullable DiscoveryCustomMessage ackMessage()

Called when custom message has been handled by all nodes.

Specified by:
  `ackMessage` in interface `DiscoveryCustomMessage`
Returns:
  Ack message or `null` if ack is not required.

#### isMutable

    public boolean isMutable()

Specified by:
  `isMutable` in interface `DiscoveryCustomMessage`
Returns:
  `True` if message can be modified during listener notification. Changes will be sent to next nodes.

#### createDiscoCache

    public DiscoCache createDiscoCache(GridDiscoveryManager mgr,
                                       AffinityTopologyVersion topVer,
                                       DiscoCache discoCache)

Creates new discovery cache if message caused topology version change.

Specified by:
  `createDiscoCache` in interface `DiscoveryCustomMessage`
Parameters:
  `mgr` - Discovery manager.
  `topVer` - New topology version.
  `discoCache` - Current discovery cache.
Returns:
  Reused discovery cache.

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`

${current.year} Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Database and Caching Platform | : ver. 2.14.0
Release Date | : September 29 2022