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

## Class GridDhtLockRequest<K,V>

- java.lang.Object
- - org.apache.ignite.plugin.extensions.communication.MessageAdapter
  - - org.apache.ignite.internal.processors.cache.GridCacheMessage<K,V>
    - - org.apache.ignite.internal.processors.cache.distributed.GridDistributedBaseMessage<K,V>
      - - org.apache.ignite.internal.processors.cache.distributed.GridDistributedLockRequest<K,V>
        - - org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLockRequest<K,V>

All Implemented Interfaces:
  Serializable, GridCacheDeployable, GridCacheVersionable

    public class GridDhtLockRequest<K,V>
    extends GridDistributedLockRequest<K,V>

DHT lock request.

See Also:
  Serialized Form

### Nested Class Summary

### Nested classes/interfaces inherited from class org.apache.ignite.plugin.extensions.communication.MessageAdapter

`MessageAdapter.Type`

### 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.GridCacheMessage

`CACHE_MSG_INDEX_FIELD_NAME, cacheId, MAX_CACHE_MSG_LOOKUP_INDEX`

### Fields inherited from class org.apache.ignite.plugin.extensions.communication.MessageAdapter

`reader, readState`

### Constructor Summary

Constructors
Constructor and Description
`GridDhtLockRequest()` Empty constructor required for `Externalizable`.
`GridDhtLockRequest(int cacheId, UUID nodeId, GridCacheVersion nearXidVer, long threadId, IgniteUuid futId, IgniteUuid miniId, GridCacheVersion lockVer, long topVer, boolean isInTx, boolean isRead, TransactionIsolation isolation, boolean isInvalidate, long timeout, int dhtCnt, int nearCnt, int txSize, IgniteTxKey grpLockKey, boolean partLock, UUID subjId, int taskNameHash, long accessTtl)`

### Method Summary

Methods
`long` `accessTtl()`
`void` `addDhtKey(K key, byte[] keyBytes, boolean invalidateEntry, GridCacheContext<K,V> ctx)` Adds a DHT key.
`void` `addNearKey(K key, byte[] keyBytes, GridCacheSharedContext<K,V> ctx)` Adds a Near key.
`boolean` `allowForStartup()`
`byte` `directType()` Gets message type.
`void` `finishUnmarshal(GridCacheSharedContext<K,V> 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()`
`List<byte[]>` `nearKeyBytes()`
`List<K>` `nearKeys()`
`UUID` `nearNodeId()`
`boolean` `needPreloadKey(int idx)`
`GridCacheVersion` `owned(K key)`
`void` `owned(K key, byte[] keyBytes, GridCacheVersion ownerMapped)` Sets owner and its mapped version.
`void` `prepareMarshal(GridCacheSharedContext<K,V> ctx)` This method is called before the whole message is serialized and is responsible for pre-marshalling state.
`boolean` `readFrom(ByteBuffer buf)` Reads this message from provided byte buffer.
`UUID` `subjectId()`
`int` `taskNameHash()`
`long` `topologyVersion()` Gets topology version or -1 in case of topology version is not required for this message.
`String` `toString()`
`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, groupLock, groupLockKey, inTx, isInvalidate, isolation, keyBytes, keys, nearXidVersion, nodeId, partitionLock, returnFlags, returnValue, threadId, timeout, txRead, txSize`

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

`candidatesByIndex, candidatesByIndex, candidatesByKey, candidatesByKey, candidatesByKey, committedVersions, completedVersions, keysCount, rolledbackVersions, version, version`

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

`cacheId, cacheId, classError, deployInfo, ignoreClassErrors, lookupIndex, marshalBooleanLinkedMap, marshalCollection, marshalFilter, marshalInfo, marshalInfos, marshalInvokeArguments, marshalTx, marshalValuesCollection, messageId, nextIndexId, onClassError, prepare, prepareFilter, prepareObject, prepareObjects, transactional, transferExpiryPolicy, unmarshalBooleanLinkedMap, unmarshalCollection, unmarshalFilter, unmarshalInfo, unmarshalInfos, unmarshalInvokeArguments, unmarshalTx, unmarshalValueBytesCollection`

### Methods inherited from class org.apache.ignite.plugin.extensions.communication.MessageAdapter

`setReader, skipRecovery`

### 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,
                      long topVer,
                      boolean isInTx,
                      boolean isRead,
                      TransactionIsolation isolation,
                      boolean isInvalidate,
                      long timeout,
                      int dhtCnt,
                      int nearCnt,
                      int txSize,
                      @Nullable
                      IgniteTxKey grpLockKey,
                      boolean partLock,
                      @Nullable
                      UUID subjId,
                      int taskNameHash,
                      long accessTtl)

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.
  `nearCnt` - Near count.
  `txSize` - Expected transaction size.
  `grpLockKey` - Group lock key.
  `partLock` - `True` if partition lock.
  `subjId` - Subject ID.
  `taskNameHash` - Task name hash code.
  `accessTtl` - TTL for read operation.

### Method Detail

#### allowForStartup

    public boolean allowForStartup()

Overrides:
  `allowForStartup` in class `GridCacheMessage<K,V>`
Returns:
  `True` if this message is preloader message.

#### nearNodeId

    public UUID nearNodeId()

Returns:
  Near node ID.

#### subjectId

    public UUID subjectId()

Returns:
  Subject ID.

#### taskNameHash

    public int taskNameHash()

Returns:
  Task name hash.

#### topologyVersion

    public long 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<K,V>`
Returns:
  Topology version.

#### nearKeyBytes

    public List<byte[]> nearKeyBytes()

Returns:
  Near keys.

#### addNearKey

    public void addNearKey(K key,
                  byte[] keyBytes,
                  GridCacheSharedContext<K,V> ctx)
                    throws IgniteCheckedException

Adds a Near key.

Parameters:
  `key` - Key.
  `keyBytes` - Key bytes.
  `ctx` - Context.
Throws:
  `IgniteCheckedException` - If failed.

#### nearKeys

    public List<K> nearKeys()

Returns:
  Near keys.

#### addDhtKey

    public void addDhtKey(K key,
                 byte[] keyBytes,
                 boolean invalidateEntry,
                 GridCacheContext<K,V> ctx)
                   throws IgniteCheckedException

Adds a DHT key.

Parameters:
  `key` - Key.
  `keyBytes` - Key bytes.
  `invalidateEntry` - Flag indicating whether node should attempt to invalidate reader.
  `ctx` - Context.
Throws:
  `IgniteCheckedException` - If failed.

#### 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(K key,
             byte[] keyBytes,
             GridCacheVersion ownerMapped)

Sets owner and its mapped version.

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

#### owned

    @Nullable
    public GridCacheVersion owned(K 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.

#### prepareMarshal

    public void prepareMarshal(GridCacheSharedContext<K,V> 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<K,V>`
Parameters:
  `ctx` -
Throws:
  `IgniteCheckedException` - If failed.

#### finishUnmarshal

    public void finishUnmarshal(GridCacheSharedContext<K,V> 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<K,V>`
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.

Overrides:
  `writeTo` in class `GridDistributedLockRequest<K,V>`
Parameters:
  `buf` - Byte buffer.
  `writer` - Writer.
Returns:
  Whether message was fully written.

#### readFrom

    public boolean readFrom(ByteBuffer buf)

Reads this message from provided byte buffer.

Overrides:
  `readFrom` in class `GridDistributedLockRequest<K,V>`
Parameters:
  `buf` - Byte buffer.
Returns:
  Whether message was fully read.

#### directType

    public byte directType()

Gets message type.

Overrides:
  `directType` in class `GridDistributedLockRequest<K,V>`
Returns:
  Message type.

#### toString

    public String toString()

Overrides:
  `toString` in class `GridDistributedLockRequest<K,V>`

2015 Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Fabric | : ver. 1.0.0-RC1
Release Date | : February 17 2015