Class ClientListenerOperation
- java.lang.Object
-
- java.util.concurrent.CompletableFuture<T>
-
- org.infinispan.hotrod.impl.operations.HotRodOperation<T>
-
- org.infinispan.hotrod.impl.operations.RetryOnFailureOperation<SocketAddress>
-
- org.infinispan.hotrod.impl.operations.ClientListenerOperation
-
- All Implemented Interfaces:
Runnable,CompletionStage<SocketAddress>,Future<SocketAddress>,HotRodConstants,ChannelOperation
- Direct Known Subclasses:
AddBloomNearCacheClientListenerOperation,AddClientListenerOperation
public abstract class ClientListenerOperation extends RetryOnFailureOperation<SocketAddress>
-
-
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 SocketAddressaddressObjectlistenerbyte[]listenerId-
Fields inherited from class org.infinispan.hotrod.impl.operations.RetryOnFailureOperation
log
-
Fields inherited from class org.infinispan.hotrod.impl.operations.HotRodOperation
header, operationContext, options, 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 protectedClientListenerOperation(OperationContext operationContext, short requestCode, short responseCode, org.infinispan.api.common.CacheOptions options, byte[] listenerId, DataFormat dataFormat, Object listener)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidacceptResponse(io.netty.buffer.ByteBuf buf, short status, HeaderDecoder decoder)protected abstract voidactualExecute(io.netty.channel.Channel channel)protected voidaddParams(StringBuilder sb)protected voidcleanup(io.netty.channel.Channel channel)booleancompleteExceptionally(Throwable ex)abstract ClientListenerOperationcopy()protected voidexecuteOperation(io.netty.channel.Channel channel)Perform the operation-specific request/response I/O on the specified channel.protected static byte[]generateListenerId()StringgetCacheName()voidpostponeTimeout(io.netty.channel.Channel channel)voidreleaseChannel(io.netty.channel.Channel channel)-
Methods inherited from class org.infinispan.hotrod.impl.operations.RetryOnFailureOperation
cancel, channelInactive, exceptionCaught, execute, fetchChannelAndInvoke, handleException, invoke, logAndRetryOrFail, reset
-
Methods inherited from class org.infinispan.hotrod.impl.operations.HotRodOperation
cacheName, complete, dataFormat, flags, header, run, scheduleRead, 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, 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
-
listenerId
public final byte[] listenerId
-
listener
public final Object listener
-
address
protected SocketAddress address
-
-
Constructor Detail
-
ClientListenerOperation
protected ClientListenerOperation(OperationContext operationContext, short requestCode, short responseCode, org.infinispan.api.common.CacheOptions options, byte[] listenerId, DataFormat dataFormat, Object listener)
-
-
Method Detail
-
generateListenerId
protected static byte[] generateListenerId()
-
getCacheName
public String getCacheName()
-
executeOperation
protected final 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<SocketAddress>- Parameters:
channel- the channel to use for I/O
-
actualExecute
protected abstract void actualExecute(io.netty.channel.Channel channel)
-
cleanup
protected void cleanup(io.netty.channel.Channel channel)
-
releaseChannel
public void releaseChannel(io.netty.channel.Channel channel)
- Overrides:
releaseChannelin classHotRodOperation<SocketAddress>
-
acceptResponse
public void acceptResponse(io.netty.buffer.ByteBuf buf, short status, HeaderDecoder decoder)- Specified by:
acceptResponsein classHotRodOperation<SocketAddress>
-
completeExceptionally
public boolean completeExceptionally(Throwable ex)
- Overrides:
completeExceptionallyin classHotRodOperation<SocketAddress>
-
postponeTimeout
public void postponeTimeout(io.netty.channel.Channel channel)
-
addParams
protected void addParams(StringBuilder sb)
- Overrides:
addParamsin classHotRodOperation<SocketAddress>
-
copy
public abstract ClientListenerOperation copy()
- Overrides:
copyin classCompletableFuture<SocketAddress>
-
-