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 ofHotRodFlags 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.AsynchronousCompletionTask
-
Nested classes/interfaces inherited from interface org.infinispan.hotrod.impl.protocol.HotRodConstants
HotRodConstants.Names
-
-
Field Summary
Fields Modifier and Type Field Description protected HeaderParamsheaderprotected OperationContextoperationContextprotected org.infinispan.api.common.CacheOptions.Imploptionsprotected ScheduledFuture<?>timeoutFuture-
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
Constructors Modifier Constructor Description protectedHotRodOperation(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
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract voidacceptResponse(io.netty.buffer.ByteBuf buf, short status, HeaderDecoder decoder)protected voidaddParams(StringBuilder sb)protected byte[]cacheName()voidchannelInactive(io.netty.channel.Channel channel)booleancomplete(T value)booleancompleteExceptionally(Throwable ex)DataFormatdataFormat()voidexceptionCaught(io.netty.channel.Channel channel, Throwable cause)abstract CompletionStage<T>execute()protected intflags()HeaderParamsheader()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)StringtoString()-
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 Detail
-
operationContext
protected final OperationContext operationContext
-
options
protected final org.infinispan.api.common.CacheOptions.Impl options
-
header
protected final HeaderParams header
-
timeoutFuture
protected volatile ScheduledFuture<?> timeoutFuture
-
-
Constructor Detail
-
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 Detail
-
execute
public abstract CompletionStage<T> execute()
-
header
public HeaderParams 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
public void exceptionCaught(io.netty.channel.Channel channel, Throwable cause)
-
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
public String toString()
- Overrides:
toStringin classCompletableFuture<T>
-
addParams
protected void addParams(StringBuilder sb)
-
complete
public boolean complete(T value)
- Overrides:
completein classCompletableFuture<T>
-
completeExceptionally
public boolean completeExceptionally(Throwable ex)
- Overrides:
completeExceptionallyin classCompletableFuture<T>
-
scheduleTimeout
public void scheduleTimeout(io.netty.channel.Channel channel)
-
dataFormat
public final DataFormat dataFormat()
-
cacheName
protected final byte[] cacheName()
-
-