org.apache.ignite.internal.processors.marshaller

## Class MappingProposedMessage

- java.lang.Object
- - org.apache.ignite.internal.processors.marshaller.MappingProposedMessage

All Implemented Interfaces:
  Serializable, DiscoveryCustomMessage

    public class MappingProposedMessage
    extends Object
    implements DiscoveryCustomMessage

Node sends this message when it wants to propose new marshaller mapping and to ensure that there are no conflicts with this mapping on other nodes in cluster. After sending this message to the cluster sending node gets blocked until mapping is either accepted or rejected. When it completes a pass around the cluster ring with no conflicts observed, `MappingAcceptedMessage` is sent as an acknowledgement that everything is fine.

See Also:
  Serialized Form

### Method Summary

All Methods Instance Methods Concrete Methods
`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.
`boolean` `duplicated()`
`IgniteUuid` `id()`
`boolean` `isMutable()`
`boolean` `stopProcess()` See `DiscoverySpiCustomMessage.stopProcess()`.
`String` `toString()`

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

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

### Method Detail

#### id

    public IgniteUuid id()

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

#### ackMessage

    @Nullable
    public 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.

#### stopProcess

    public boolean stopProcess()

See `DiscoverySpiCustomMessage.stopProcess()`.

Specified by:
  `stopProcess` in interface `DiscoveryCustomMessage`
Returns:
  `True` if message should not be sent to others nodes after it was processed on coordinator.

#### createDiscoCache

    @Nullable
    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.

#### duplicated

    public boolean duplicated()

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`

2018 Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Database and Caching Platform | : ver. 2.7.5
Release Date | : June 4 2019