Class ReplaceIfUnmodifiedOperation
- java.lang.Object
-
- java.util.concurrent.CompletableFuture<T>
-
- org.infinispan.client.hotrod.impl.operations.HotRodOperation<T>
-
- org.infinispan.client.hotrod.impl.operations.RetryOnFailureOperation<T>
-
- org.infinispan.client.hotrod.impl.operations.StatsAffectingRetryingOperation<T>
-
- org.infinispan.client.hotrod.impl.operations.AbstractKeyOperation<T>
-
- org.infinispan.client.hotrod.impl.operations.AbstractKeyValueOperation<VersionedOperationResponse>
-
- org.infinispan.client.hotrod.impl.operations.ReplaceIfUnmodifiedOperation
-
- All Implemented Interfaces:
Runnable,CompletionStage<VersionedOperationResponse>,Future<VersionedOperationResponse>,HotRodConstants,ChannelOperation
public class ReplaceIfUnmodifiedOperation extends AbstractKeyValueOperation<VersionedOperationResponse>
Implement "replaceIfUnmodified" as defined by Hot Rod protocol specification.- Since:
- 4.1
- Author:
- Mircea.Markus@jboss.com
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class java.util.concurrent.CompletableFuture
CompletableFuture.AsynchronousCompletionTask
-
Nested classes/interfaces inherited from interface org.infinispan.client.hotrod.impl.protocol.HotRodConstants
HotRodConstants.Names
-
-
Field Summary
-
Fields inherited from class org.infinispan.client.hotrod.impl.operations.AbstractKeyValueOperation
lifespan, lifespanTimeUnit, maxIdle, maxIdleTimeUnit, value
-
Fields inherited from class org.infinispan.client.hotrod.impl.operations.AbstractKeyOperation
key, keyBytes
-
Fields inherited from class org.infinispan.client.hotrod.impl.operations.StatsAffectingRetryingOperation
clientStatistics
-
Fields inherited from class org.infinispan.client.hotrod.impl.operations.RetryOnFailureOperation
log, trace
-
Fields inherited from class org.infinispan.client.hotrod.impl.operations.HotRodOperation
cacheName, cfg, channelFactory, codec, dataFormat, flags, header, timeoutFuture
-
Fields inherited from interface org.infinispan.client.hotrod.impl.protocol.HotRodConstants
ADD_CLIENT_LISTENER_REQUEST, ADD_CLIENT_LISTENER_RESPONSE, AUTH_MECH_LIST_REQUEST, AUTH_MECH_LIST_RESPONSE, AUTH_REQUEST, AUTH_RESPONSE, BULK_GET_KEYS_REQUEST, BULK_GET_KEYS_RESPONSE, BULK_GET_REQUEST, BULK_GET_RESPONSE, CACHE_ENTRY_CREATED_EVENT_RESPONSE, CACHE_ENTRY_EXPIRED_EVENT_RESPONSE, CACHE_ENTRY_MODIFIED_EVENT_RESPONSE, CACHE_ENTRY_REMOVED_EVENT_RESPONSE, CLEAR_REQUEST, CLEAR_RESPONSE, CLIENT_INTELLIGENCE_BASIC, CLIENT_INTELLIGENCE_HASH_DISTRIBUTION_AWARE, CLIENT_INTELLIGENCE_TOPOLOGY_AWARE, COMMAND_TIMEOUT_STATUS, COMMIT_REQUEST, COMMIT_RESPONSE, CONTAINS_KEY_REQUEST, CONTAINS_KEY_RESPONSE, COUNTER_ADD_AND_GET_REQUEST, COUNTER_ADD_AND_GET_RESPONSE, COUNTER_ADD_LISTENER_REQUEST, COUNTER_ADD_LISTENER_RESPONSE, COUNTER_CAS_REQUEST, COUNTER_CAS_RESPONSE, COUNTER_CREATE_REQUEST, COUNTER_CREATE_RESPONSE, COUNTER_EVENT_RESPONSE, COUNTER_GET_CONFIGURATION_REQUEST, COUNTER_GET_CONFIGURATION_RESPONSE, COUNTER_GET_NAMES_REQUEST, COUNTER_GET_NAMES_RESPONSE, COUNTER_GET_REQUEST, COUNTER_GET_RESPONSE, COUNTER_IS_DEFINED_REQUEST, COUNTER_IS_DEFINED_RESPONSE, COUNTER_REMOVE_LISTENER_REQUEST, COUNTER_REMOVE_LISTENER_RESPONSE, COUNTER_REMOVE_REQUEST, COUNTER_REMOVE_RESPONSE, COUNTER_RESET_REQUEST, COUNTER_RESET_RESPONSE, DEFAULT_CACHE_NAME_BYTES, DEFAULT_CACHE_TOPOLOGY, ERROR_RESPONSE, EXEC_REQUEST, EXEC_RESPONSE, FETCH_TX_RECOVERY_REQUEST, FETCH_TX_RECOVERY_RESPONSE, FORGET_TX_REQUEST, FORGET_TX_RESPONSE, GET_ALL_REQUEST, GET_ALL_RESPONSE, GET_REQUEST, GET_RESPONSE, GET_STREAM_REQUEST, GET_STREAM_RESPONSE, GET_WITH_METADATA, GET_WITH_METADATA_RESPONSE, GET_WITH_VERSION, GET_WITH_VERSION_RESPONSE, HOTROD_STRING_CHARSET, ILLEGAL_LIFECYCLE_STATE, ILLEGAL_OP_CODE, INFINITE_LIFESPAN, INFINITE_MAXIDLE, INVALID_ITERATION, INVALID_MAGIC_OR_MESSAGE_ID_STATUS, ITERATION_END_REQUEST, ITERATION_END_RESPONSE, ITERATION_NEXT_REQUEST, ITERATION_NEXT_RESPONSE, ITERATION_START_REQUEST, ITERATION_START_RESPONSE, KEY_DOES_NOT_EXIST_STATUS, NO_ERROR_STATUS, NO_ERROR_STATUS_OBJ_STORAGE, NODE_SUSPECTED, NOT_EXECUTED_WITH_PREVIOUS, NOT_EXECUTED_WITH_PREVIOUS_OBJ_STORAGE, NOT_PUT_REMOVED_REPLACED_STATUS, PING_REQUEST, PING_RESPONSE, PREPARE_REQUEST, PREPARE_RESPONSE, PREPARE_TX_2_REQUEST, PREPARE_TX_2_RESPONSE, PUT_ALL_REQUEST, PUT_ALL_RESPONSE, PUT_IF_ABSENT_REQUEST, PUT_IF_ABSENT_RESPONSE, PUT_REQUEST, PUT_RESPONSE, PUT_STREAM_REQUEST, PUT_STREAM_RESPONSE, QUERY_REQUEST, QUERY_RESPONSE, REMOVE_CLIENT_LISTENER_REQUEST, REMOVE_CLIENT_LISTENER_RESPONSE, REMOVE_IF_UNMODIFIED_REQUEST, REMOVE_IF_UNMODIFIED_RESPONSE, REMOVE_REQUEST, REMOVE_RESPONSE, REPLACE_IF_UNMODIFIED_REQUEST, REPLACE_IF_UNMODIFIED_RESPONSE, REPLACE_REQUEST, REPLACE_RESPONSE, REQUEST_MAGIC, REQUEST_PARSING_ERROR_STATUS, RESPONSE_MAGIC, ROLLBACK_REQUEST, ROLLBACK_RESPONSE, SERVER_ERROR_STATUS, SIZE_REQUEST, SIZE_RESPONSE, STATS_REQUEST, STATS_RESPONSE, SUCCESS_WITH_PREVIOUS, SUCCESS_WITH_PREVIOUS_OBJ_STORAGE, SWITCH_CLUSTER_TOPOLOGY, UNKNOWN_COMMAND_STATUS, UNKNOWN_VERSION_STATUS, VERSION_20, VERSION_21, VERSION_22, VERSION_23, VERSION_24, VERSION_25, VERSION_26, VERSION_27, VERSION_28, VERSION_29, VERSION_30
-
-
Constructor Summary
Constructors Constructor Description ReplaceIfUnmodifiedOperation(Codec codec, ChannelFactory channelFactory, Object key, byte[] keyBytes, byte[] cacheName, AtomicInteger topologyId, int flags, Configuration cfg, byte[] value, long lifespan, TimeUnit lifespanTimeUnit, long maxIdle, TimeUnit maxIdleTimeUnit, long version, DataFormat dataFormat, ClientStatistics clientStatistics)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidacceptResponse(io.netty.buffer.ByteBuf buf, short status, HeaderDecoder decoder)protected voidexecuteOperation(io.netty.channel.Channel channel)Perform the operation-specific request/response I/O on the specified channel.-
Methods inherited from class org.infinispan.client.hotrod.impl.operations.AbstractKeyValueOperation
addParams, sendKeyValueOperation
-
Methods inherited from class org.infinispan.client.hotrod.impl.operations.AbstractKeyOperation
fetchChannelAndInvoke, returnPossiblePrevValue, returnVersionedOperationResponse
-
Methods inherited from class org.infinispan.client.hotrod.impl.operations.StatsAffectingRetryingOperation
scheduleRead, statsDataRead, statsDataRead, statsDataRemove, statsDataStore, statsDataStore
-
Methods inherited from class org.infinispan.client.hotrod.impl.operations.RetryOnFailureOperation
cancel, channelInactive, exceptionCaught, execute, handleException, invoke, logAndRetryOrFail, reset
-
Methods inherited from class org.infinispan.client.hotrod.impl.operations.HotRodOperation
complete, completeExceptionally, header, releaseChannel, run, scheduleTimeout, sendArrayOperation, sendHeader, sendHeaderAndRead, toString
-
Methods inherited from class java.util.concurrent.CompletableFuture
acceptEither, acceptEitherAsync, acceptEitherAsync, allOf, anyOf, applyToEither, applyToEitherAsync, applyToEitherAsync, cancel, completeAsync, completeAsync, completedFuture, completedStage, completeOnTimeout, copy, defaultExecutor, delayedExecutor, delayedExecutor, exceptionally, failedFuture, failedStage, get, get, getNow, getNumberOfDependents, handle, handleAsync, handleAsync, isCancelled, isCompletedExceptionally, isDone, join, minimalCompletionStage, newIncompleteFuture, obtrudeException, obtrudeValue, orTimeout, runAfterBoth, runAfterBothAsync, runAfterBothAsync, runAfterEither, runAfterEitherAsync, runAfterEitherAsync, runAsync, runAsync, supplyAsync, supplyAsync, thenAccept, thenAcceptAsync, thenAcceptAsync, thenAcceptBoth, thenAcceptBothAsync, thenAcceptBothAsync, thenApply, thenApplyAsync, thenApplyAsync, thenCombine, thenCombineAsync, thenCombineAsync, thenCompose, thenComposeAsync, thenComposeAsync, thenRun, thenRunAsync, thenRunAsync, toCompletableFuture, whenComplete, whenCompleteAsync, whenCompleteAsync
-
-
-
-
Constructor Detail
-
ReplaceIfUnmodifiedOperation
public ReplaceIfUnmodifiedOperation(Codec codec, ChannelFactory channelFactory, Object key, byte[] keyBytes, byte[] cacheName, AtomicInteger topologyId, int flags, Configuration cfg, byte[] value, long lifespan, TimeUnit lifespanTimeUnit, long maxIdle, TimeUnit maxIdleTimeUnit, long version, DataFormat dataFormat, ClientStatistics clientStatistics)
-
-
Method Detail
-
executeOperation
protected void executeOperation(io.netty.channel.Channel channel)
Description copied from class:RetryOnFailureOperationPerform the operation-specific request/response I/O on the specified channel. If an error occurs during I/O, this class will detect it and retry the operation with a different channel by invoking the executeOperation method again.- Specified by:
executeOperationin classRetryOnFailureOperation<VersionedOperationResponse>- Parameters:
channel- the channel to use for I/O
-
acceptResponse
public void acceptResponse(io.netty.buffer.ByteBuf buf, short status, HeaderDecoder decoder)- Specified by:
acceptResponsein classHotRodOperation<VersionedOperationResponse>
-
-