Class HotRodOperation<T>
java.lang.Object
java.util.concurrent.CompletableFuture<T>
org.infinispan.hotrod.impl.operations.HotRodOperation<T>
- All Implemented Interfaces:
Runnable,CompletionStage<T>,Future<T>,HotRodConstants
- Direct Known Subclasses:
AuthMechListOperation,AuthOperation,IterationEndOperation,IterationNextOperation,PingOperation,RemoveClientListenerOperation,RetryOnFailureOperation,StatsAffectingHotRodOperation,UpdateBloomFilterOperation
public abstract class HotRodOperation<T>
extends CompletableFuture<T>
implements HotRodConstants, Runnable
Generic Hot Rod operation. It is aware of
HotRodFlags and it is targeted against a cache name. This base
class encapsulates the knowledge of writing and reading a header, as described in the
Hot Rod protocol specification- Since:
- 14.0
-
Nested Class Summary
Nested classes/interfaces inherited from class java.util.concurrent.CompletableFuture
CompletableFuture.AsynchronousCompletionTaskNested classes/interfaces inherited from interface org.infinispan.hotrod.impl.protocol.HotRodConstants
HotRodConstants.Names -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final HeaderParamsprotected final OperationContextprotected final org.infinispan.api.common.CacheOptions.Implprotected ScheduledFuture<?> Fields inherited from interface org.infinispan.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, 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_40 -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedHotRodOperation(OperationContext operationContext, short requestCode, short responseCode, org.infinispan.api.common.CacheOptions options) protectedHotRodOperation(OperationContext operationContext, short requestCode, short responseCode, org.infinispan.api.common.CacheOptions options, DataFormat dataFormat) -
Method Summary
Modifier and TypeMethodDescriptionabstract voidacceptResponse(io.netty.buffer.ByteBuf buf, short status, HeaderDecoder decoder) protected voidprotected final byte[]voidchannelInactive(io.netty.channel.Channel channel) booleanbooleanfinal DataFormatvoidexceptionCaught(io.netty.channel.Channel channel, Throwable cause) abstract CompletionStage<T> execute()protected intflags()header()voidreleaseChannel(io.netty.channel.Channel channel) voidrun()protected voidscheduleRead(io.netty.channel.Channel channel) voidscheduleTimeout(io.netty.channel.Channel channel) protected voidsendArrayOperation(io.netty.channel.Channel channel, byte[] array) protected voidsendHeader(io.netty.channel.Channel channel) protected voidsendHeaderAndRead(io.netty.channel.Channel channel) 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
-
Field Details
-
operationContext
-
options
protected final org.infinispan.api.common.CacheOptions.Impl options -
header
-
timeoutFuture
-
-
Constructor Details
-
HotRodOperation
protected HotRodOperation(OperationContext operationContext, short requestCode, short responseCode, org.infinispan.api.common.CacheOptions options, DataFormat dataFormat) -
HotRodOperation
protected HotRodOperation(OperationContext operationContext, short requestCode, short responseCode, org.infinispan.api.common.CacheOptions options)
-
-
Method Details
-
execute
-
header
-
flags
protected int flags() -
sendHeaderAndRead
protected void sendHeaderAndRead(io.netty.channel.Channel channel) -
sendHeader
protected void sendHeader(io.netty.channel.Channel channel) -
scheduleRead
protected void scheduleRead(io.netty.channel.Channel channel) -
releaseChannel
public void releaseChannel(io.netty.channel.Channel channel) -
channelInactive
public void channelInactive(io.netty.channel.Channel channel) -
exceptionCaught
-
sendArrayOperation
protected void sendArrayOperation(io.netty.channel.Channel channel, byte[] array) -
acceptResponse
public abstract void acceptResponse(io.netty.buffer.ByteBuf buf, short status, HeaderDecoder decoder) -
toString
- Overrides:
toStringin classCompletableFuture<T>
-
addParams
-
complete
- Overrides:
completein classCompletableFuture<T>
-
completeExceptionally
- Overrides:
completeExceptionallyin classCompletableFuture<T>
-
scheduleTimeout
public void scheduleTimeout(io.netty.channel.Channel channel) -
run
public void run() -
dataFormat
-
cacheName
protected final byte[] cacheName()
-