Class ReplaceIfUnmodifiedOperation
java.lang.Object
java.util.concurrent.CompletableFuture<VersionedOperationResponse>
org.infinispan.client.hotrod.impl.operations.HotRodOperation<VersionedOperationResponse>
org.infinispan.client.hotrod.impl.operations.RetryOnFailureOperation<VersionedOperationResponse>
org.infinispan.client.hotrod.impl.operations.StatsAffectingRetryingOperation<VersionedOperationResponse>
org.infinispan.client.hotrod.impl.operations.AbstractKeyOperation<VersionedOperationResponse>
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.AsynchronousCompletionTaskNested 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, valueFields inherited from class org.infinispan.client.hotrod.impl.operations.AbstractKeyOperation
key, keyBytesFields inherited from class org.infinispan.client.hotrod.impl.operations.StatsAffectingRetryingOperation
clientStatisticsFields inherited from class org.infinispan.client.hotrod.impl.operations.RetryOnFailureOperation
logFields inherited from class org.infinispan.client.hotrod.impl.operations.HotRodOperation
cfg, channelFactory, codec, header, timeoutFutureFields inherited from interface org.infinispan.client.hotrod.impl.protocol.HotRodConstants
ADD_BLOOM_FILTER_NEAR_CACHE_LISTENER_REQUEST, ADD_BLOOM_FILTER_NEAR_CACHE_LISTENER_RESPONSE, 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, UPDATE_BLOOM_FILTER_REQUEST, UPDATE_BLOOM_FILTER_RESPONSE, VERSION_20, VERSION_21, VERSION_22, VERSION_23, VERSION_24, VERSION_25, VERSION_26, VERSION_27, VERSION_28, VERSION_29, VERSION_30, VERSION_31, VERSION_40 -
Constructor Summary
ConstructorsConstructorDescriptionReplaceIfUnmodifiedOperation(Codec codec, ChannelFactory channelFactory, Object key, byte[] keyBytes, byte[] cacheName, AtomicReference<ClientTopology> clientTopology, int flags, Configuration cfg, byte[] value, long lifespan, TimeUnit lifespanTimeUnit, long maxIdle, TimeUnit maxIdleTimeUnit, long version, DataFormat dataFormat, ClientStatistics clientStatistics, TelemetryService telemetryService) -
Method Summary
Modifier and TypeMethodDescriptionvoidacceptResponse(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, sendKeyValueOperationMethods inherited from class org.infinispan.client.hotrod.impl.operations.AbstractKeyOperation
fetchChannelAndInvoke, returnPossiblePrevValue, returnVersionedOperationResponse, routingObjectMethods inherited from class org.infinispan.client.hotrod.impl.operations.StatsAffectingRetryingOperation
scheduleRead, statsDataRead, statsDataRead, statsDataRemove, statsDataStore, statsDataStoreMethods inherited from class org.infinispan.client.hotrod.impl.operations.RetryOnFailureOperation
cancel, channelInactive, exceptionCaught, execute, handleException, invoke, logAndRetryOrFail, resetMethods inherited from class org.infinispan.client.hotrod.impl.operations.HotRodOperation
cacheName, closeChannelForCause, complete, completeExceptionally, dataFormat, flags, getCodec, header, isServerError, releaseChannel, run, scheduleTimeout, sendArrayOperation, sendHeader, sendHeaderAndRead, toStringMethods 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 Details
-
ReplaceIfUnmodifiedOperation
public ReplaceIfUnmodifiedOperation(Codec codec, ChannelFactory channelFactory, Object key, byte[] keyBytes, byte[] cacheName, AtomicReference<ClientTopology> clientTopology, int flags, Configuration cfg, byte[] value, long lifespan, TimeUnit lifespanTimeUnit, long maxIdle, TimeUnit maxIdleTimeUnit, long version, DataFormat dataFormat, ClientStatistics clientStatistics, TelemetryService telemetryService)
-
-
Method Details
-
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
- Specified by:
acceptResponsein classHotRodOperation<VersionedOperationResponse>
-