Package org.apache.ignite.internal.processors.cache.distributed.dht

## Class GridDhtLockRequest

- java.lang.Object
- - org.apache.ignite.internal.processors.cache.GridCacheMessage
  - - org.apache.ignite.internal.processors.cache.GridCacheIdMessage
    - - org.apache.ignite.internal.processors.cache.distributed.GridDistributedBaseMessage
      - - org.apache.ignite.internal.processors.cache.distributed.GridDistributedLockRequest
        - - org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLockRequest

All Implemented Interfaces:
  `Serializable`, `GridCacheDeployable`, `GridCacheVersionable`, `Message`

    public class GridDhtLockRequest
    extends GridDistributedLockRequest

DHT lock request.

See Also:
  Serialized Form

### Field Summary

### Fields inherited from class org.apache.ignite.internal.processors.cache.distributed.GridDistributedLockRequest

`idx`

### Fields inherited from class org.apache.ignite.internal.processors.cache.distributed.GridDistributedBaseMessage

`ver`

### Fields inherited from class org.apache.ignite.internal.processors.cache.GridCacheIdMessage

`cacheId`

### Fields inherited from class org.apache.ignite.internal.processors.cache.GridCacheMessage

`addDepInfo, CACHE_MSG_INDEX_FIELD_NAME, forceAddDepInfo, MAX_CACHE_MSG_LOOKUP_INDEX`

### Fields inherited from interface org.apache.ignite.plugin.extensions.communication.Message

`DIRECT_TYPE_SIZE`

### Constructor Summary

Constructors
`GridDhtLockRequest()` Empty constructor required for `Externalizable`.

`GridDhtLockRequest​(int cacheId, UUID nodeId, GridCacheVersion nearXidVer, long threadId, IgniteUuid futId, IgniteUuid miniId, GridCacheVersion lockVer, @NotNull AffinityTopologyVersion topVer, boolean isInTx, boolean isRead, TransactionIsolation isolation, boolean isInvalidate, long timeout, int dhtCnt, int txSize, int taskNameHash, long accessTtl, boolean skipStore, boolean storeUsed, boolean keepBinary, boolean addDepInfo, String txLbl)`

### Method Summary

All Methods Instance Methods Concrete Methods
`long` `accessTtl()`
`void` `addDhtKey​(KeyCacheObject key, boolean invalidateEntry)` Adds a DHT key.
`short` `directType()` Gets message type.
`byte` `fieldsCount()` Gets fields count.
`void` `finishUnmarshal​(GridCacheSharedContext<?,​?> ctx, ClassLoader ldr)` This method is called after the message is deserialized and is responsible for unmarshalling state marshalled in `GridCacheMessage.prepareMarshal(GridCacheSharedContext)` method.
`boolean` `invalidateNearEntry​(int idx)`
`void` `markLastKeyForPreload()` Marks last added key for preloading.
`IgniteUuid` `miniId()`
`UUID` `nearNodeId()`
`boolean` `needPreloadKey​(int idx)`
`@Nullable GridCacheVersion` `owned​(KeyCacheObject key)`
`void` `owned​(KeyCacheObject key, GridCacheVersion ownerMapped)` Sets owner and its mapped version.
`void` `prepareMarshal​(GridCacheSharedContext<?,​?> ctx)` This method is called before the whole message is serialized and is responsible for pre-marshalling state.
`boolean` `readFrom​(ByteBuffer buf, MessageReader reader)` Reads this message from provided byte buffer.
`int` `taskNameHash()`
`AffinityTopologyVersion` `topologyVersion()` Gets topology version or -1 in case of topology version is not required for this message.
`String` `toString()`
`@Nullable String` `txLabel()`
`boolean` `writeTo​(ByteBuffer buf, MessageWriter writer)` Writes this message to provided byte buffer.

### Methods inherited from class org.apache.ignite.internal.processors.cache.distributed.GridDistributedLockRequest

`addKeyBytes, futureId, inTx, isInvalidate, isolation, keepBinary, keepBinary, keys, messageLogger, nearXidVersion, nodeId, partition, returnValue, skipStore, storeUsed, storeUsed, threadId, timeout, txRead, txSize`

### Methods inherited from class org.apache.ignite.internal.processors.cache.distributed.GridDistributedBaseMessage

`addDeploymentInfo, committedVersions, completedVersions, rolledbackVersions, version, version`

### Methods inherited from class org.apache.ignite.internal.processors.cache.GridCacheIdMessage

`cacheGroupMessage, cacheId, cacheId, handlerId`

### Methods inherited from class org.apache.ignite.internal.processors.cache.GridCacheMessage

`appendFlag, classError, deployInfo, error, finishUnmarshalCacheObjects, finishUnmarshalCacheObjects, ignoreClassErrors, lastAffinityChangedTopologyVersion, lastAffinityChangedTopologyVersion, lookupIndex, marshalCollection, marshalInfo, marshalInfos, marshalInvokeArguments, marshalTx, messageId, nextIndexId, onAckReceived, onClassError, partitionExchangeMessage, prepare, prepareMarshalCacheObject, prepareMarshalCacheObjects, prepareMarshalCacheObjects, prepareObject, prepareObject, transferExpiryPolicy, unmarshalCollection, unmarshalInfo, unmarshalInfos, unmarshalInvokeArguments, unmarshalTx`

### 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.processors.cache.GridCacheDeployable

`deployInfo, prepare`

### Constructor Detail

#### GridDhtLockRequest

    public GridDhtLockRequest()

Empty constructor required for `Externalizable`.

#### GridDhtLockRequest

    public GridDhtLockRequest​(int cacheId,
                              UUID nodeId,
                              GridCacheVersion nearXidVer,
                              long threadId,
                              IgniteUuid futId,
                              IgniteUuid miniId,
                              GridCacheVersion lockVer,
                              @NotNull
                              @NotNull AffinityTopologyVersion topVer,
                              boolean isInTx,
                              boolean isRead,
                              TransactionIsolation isolation,
                              boolean isInvalidate,
                              long timeout,
                              int dhtCnt,
                              int txSize,
                              int taskNameHash,
                              long accessTtl,
                              boolean skipStore,
                              boolean storeUsed,
                              boolean keepBinary,
                              boolean addDepInfo,
                              String txLbl)

Parameters:
  `cacheId` - Cache ID.
  `nodeId` - Node ID.
  `nearXidVer` - Near transaction ID.
  `threadId` - Thread ID.
  `futId` - Future ID.
  `miniId` - Mini future ID.
  `lockVer` - Cache version.
  `topVer` - Topology version.
  `isInTx` - `True` if implicit transaction lock.
  `isRead` - Indicates whether implicit lock is for read or write operation.
  `isolation` - Transaction isolation.
  `isInvalidate` - Invalidation flag.
  `timeout` - Lock timeout.
  `dhtCnt` - DHT count.
  `txSize` - Expected transaction size.
  `taskNameHash` - Task name hash code.
  `accessTtl` - TTL for read operation.
  `skipStore` - Skip store flag.
  `storeUsed` - Cache store used flag.
  `keepBinary` - Keep binary flag.
  `addDepInfo` - Deployment info flag.
  `txLbl` - Transaction label.

### Method Detail

#### nearNodeId

    public UUID nearNodeId()

Returns:
  Near node ID.

#### taskNameHash

    public int taskNameHash()

Returns:
  Task name hash.

#### topologyVersion

    public AffinityTopologyVersion topologyVersion()

Description copied from class: `GridCacheMessage`
Gets topology version or -1 in case of topology version is not required for this message.

Overrides:
  `topologyVersion` in class `GridCacheMessage`
Returns:
  Topology version.

#### addDhtKey

    public void addDhtKey​(KeyCacheObject key,
                          boolean invalidateEntry)

Adds a DHT key.

Parameters:
  `key` - Key.
  `invalidateEntry` - Flag indicating whether node should attempt to invalidate reader.

#### markLastKeyForPreload

    public void markLastKeyForPreload()

Marks last added key for preloading.

#### needPreloadKey

    public boolean needPreloadKey​(int idx)

Parameters:
  `idx` - Key index.
Returns:
  `True` if need to preload key with given index.

#### owned

    public void owned​(KeyCacheObject key,
                      GridCacheVersion ownerMapped)

Sets owner and its mapped version.

Parameters:
  `key` - Key.
  `ownerMapped` - Owner mapped version.

#### owned

    @Nullable
    public @Nullable GridCacheVersion owned​(KeyCacheObject key)

Parameters:
  `key` - Key.
Returns:
  Owner and its mapped versions.

#### invalidateNearEntry

    public boolean invalidateNearEntry​(int idx)

Parameters:
  `idx` - Entry index to check.
Returns:
  `True` if near entry should be invalidated.

#### miniId

    public IgniteUuid miniId()

Returns:
  Mini ID.

#### accessTtl

    public long accessTtl()

Returns:
  TTL for read operation.

#### txLabel

    @Nullable
    public @Nullable String txLabel()

Returns:
  Transaction label.

#### prepareMarshal

    public void prepareMarshal​(GridCacheSharedContext<?,​?> ctx)
                        throws IgniteCheckedException

This method is called before the whole message is serialized and is responsible for pre-marshalling state.

Overrides:
  `prepareMarshal` in class `GridDistributedLockRequest`
Parameters:
  `ctx` - Cache context.
Throws:
  `IgniteCheckedException` - If failed.

#### finishUnmarshal

    public void finishUnmarshal​(GridCacheSharedContext<?,​?> ctx,
                                ClassLoader ldr)
                         throws IgniteCheckedException

This method is called after the message is deserialized and is responsible for unmarshalling state marshalled in `GridCacheMessage.prepareMarshal(GridCacheSharedContext)` method.

Overrides:
  `finishUnmarshal` in class `GridDistributedLockRequest`
Parameters:
  `ctx` - Context.
  `ldr` - Class loader.
Throws:
  `IgniteCheckedException` - If failed.

#### writeTo

    public boolean writeTo​(ByteBuffer buf,
                           MessageWriter writer)

Writes this message to provided byte buffer.

Specified by:
  `writeTo` in interface `Message`
Overrides:
  `writeTo` in class `GridDistributedLockRequest`
Parameters:
  `buf` - Byte buffer.
  `writer` - Writer.
Returns:
  Whether message was fully written.

#### readFrom

    public boolean readFrom​(ByteBuffer buf,
                            MessageReader reader)

Reads this message from provided byte buffer.

Specified by:
  `readFrom` in interface `Message`
Overrides:
  `readFrom` in class `GridDistributedLockRequest`
Parameters:
  `buf` - Byte buffer.
  `reader` - Reader.
Returns:
  Whether message was fully read.

#### directType

    public short directType()

Gets message type.

Specified by:
  `directType` in interface `Message`
Overrides:
  `directType` in class `GridDistributedLockRequest`
Returns:
  Message type.

#### fieldsCount

    public byte fieldsCount()

Gets fields count.

Specified by:
  `fieldsCount` in interface `Message`
Overrides:
  `fieldsCount` in class `GridDistributedLockRequest`
Returns:
  Fields count.

#### toString

    public String toString()

Overrides:
  `toString` in class `GridDistributedLockRequest`