Class AddListenerOperation
- All Implemented Interfaces:
Runnable
,CompletionStage<Boolean>
,Future<Boolean>
,org.infinispan.client.hotrod.impl.protocol.HotRodConstants
,org.infinispan.client.hotrod.impl.transport.netty.ChannelOperation
public class AddListenerOperation
extends org.infinispan.client.hotrod.impl.operations.RetryOnFailureOperation<Boolean>
An add listener operation for
StrongCounter.addListener(CounterListener)
and WeakCounter.addListener(CounterListener)
- Since:
- 9.2
- Author:
- Pedro Ruivo
-
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
org.infinispan.client.hotrod.impl.protocol.HotRodConstants.Names
-
Field Summary
Fields inherited from class org.infinispan.client.hotrod.impl.operations.RetryOnFailureOperation
log
Fields inherited from class org.infinispan.client.hotrod.impl.operations.HotRodOperation
cfg, channelFactory, codec, header, timeoutFuture
Fields 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, 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_AND_SET_REQUEST, COUNTER_GET_AND_SET_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
ConstructorDescriptionAddListenerOperation
(org.infinispan.client.hotrod.impl.transport.netty.ChannelFactory channelFactory, AtomicReference<ClientTopology> topologyId, Configuration cfg, String counterName, byte[] listenerId, SocketAddress server) -
Method Summary
Modifier and TypeMethodDescriptionvoid
acceptResponse
(io.netty.buffer.ByteBuf buf, short status, org.infinispan.client.hotrod.impl.transport.netty.HeaderDecoder decoder) protected void
void
cleanup()
protected void
executeOperation
(io.netty.channel.Channel channel) Perform the operation-specific request/response I/O on the specified channel.protected void
fetchChannelAndInvoke
(int retryCount, Set<SocketAddress> failedServers) io.netty.channel.Channel
protected Throwable
handleException
(Throwable cause, io.netty.channel.Channel channel, SocketAddress address) void
releaseChannel
(io.netty.channel.Channel channel) Methods inherited from class org.infinispan.client.hotrod.impl.operations.RetryOnFailureOperation
cancel, channelInactive, exceptionCaught, execute, invoke, logAndRetryOrFail, reset
Methods inherited from class org.infinispan.client.hotrod.impl.operations.HotRodOperation
cacheName, closeChannelForCause, complete, completeExceptionally, dataFormat, flags, getCodec, header, isServerError, 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, copy, defaultExecutor, delayedExecutor, delayedExecutor, exceptionally, exceptionallyAsync, exceptionallyAsync, exceptionallyCompose, exceptionallyComposeAsync, exceptionallyComposeAsync, 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
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.infinispan.client.hotrod.impl.transport.netty.ChannelOperation
routingObject
-
Constructor Details
-
AddListenerOperation
public AddListenerOperation(org.infinispan.client.hotrod.impl.transport.netty.ChannelFactory channelFactory, AtomicReference<ClientTopology> topologyId, Configuration cfg, String counterName, byte[] listenerId, SocketAddress server)
-
-
Method Details
-
getChannel
public io.netty.channel.Channel getChannel() -
executeOperation
protected void executeOperation(io.netty.channel.Channel channel) Description copied from class:org.infinispan.client.hotrod.impl.operations.RetryOnFailureOperation
Perform 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:
executeOperation
in classorg.infinispan.client.hotrod.impl.operations.RetryOnFailureOperation<Boolean>
- Parameters:
channel
- the channel to use for I/O
-
acceptResponse
public void acceptResponse(io.netty.buffer.ByteBuf buf, short status, org.infinispan.client.hotrod.impl.transport.netty.HeaderDecoder decoder) - Specified by:
acceptResponse
in classorg.infinispan.client.hotrod.impl.operations.HotRodOperation<Boolean>
-
fetchChannelAndInvoke
-
releaseChannel
public void releaseChannel(io.netty.channel.Channel channel) - Overrides:
releaseChannel
in classorg.infinispan.client.hotrod.impl.operations.HotRodOperation<Boolean>
-
cleanup
public void cleanup() -
handleException
protected Throwable handleException(Throwable cause, io.netty.channel.Channel channel, SocketAddress address) - Overrides:
handleException
in classorg.infinispan.client.hotrod.impl.operations.RetryOnFailureOperation<T>
-
addParams
- Overrides:
addParams
in classorg.infinispan.client.hotrod.impl.operations.HotRodOperation<T>
-