Class GetValueOperation

java.lang.Object
java.util.concurrent.CompletableFuture<Long>
org.infinispan.client.hotrod.impl.operations.HotRodOperation<Long>
org.infinispan.client.hotrod.impl.operations.RetryOnFailureOperation<Long>
org.infinispan.client.hotrod.counter.operation.GetValueOperation
All Implemented Interfaces:
Runnable, CompletionStage<Long>, Future<Long>, org.infinispan.client.hotrod.impl.protocol.HotRodConstants, org.infinispan.client.hotrod.impl.transport.netty.ChannelOperation

public class GetValueOperation extends org.infinispan.client.hotrod.impl.operations.RetryOnFailureOperation<Long>
A counter operation that returns the counter's value.
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, 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

    Constructors
    Constructor
    Description
    GetValueOperation(org.infinispan.client.hotrod.impl.transport.netty.ChannelFactory channelFactory, AtomicReference<ClientTopology> topologyId, Configuration cfg, String counterName, boolean useConsistentHash)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    acceptResponse(io.netty.buffer.ByteBuf buf, short status, org.infinispan.client.hotrod.impl.transport.netty.HeaderDecoder decoder)
     
    protected void
     
    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)
     
    protected Throwable
    handleException(Throwable cause, io.netty.channel.Channel channel, SocketAddress address)
     

    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, releaseChannel, run, scheduleRead, scheduleTimeout, sendArrayOperation, sendHeader, sendHeaderAndRead, toString

    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

    • GetValueOperation

      public GetValueOperation(org.infinispan.client.hotrod.impl.transport.netty.ChannelFactory channelFactory, AtomicReference<ClientTopology> topologyId, Configuration cfg, String counterName, boolean useConsistentHash)
  • Method Details

    • 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 class org.infinispan.client.hotrod.impl.operations.RetryOnFailureOperation<Long>
      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 class org.infinispan.client.hotrod.impl.operations.HotRodOperation<Long>
    • fetchChannelAndInvoke

      protected void fetchChannelAndInvoke(int retryCount, Set<SocketAddress> failedServers)
      Overrides:
      fetchChannelAndInvoke in class org.infinispan.client.hotrod.impl.operations.RetryOnFailureOperation<T>
    • handleException

      protected Throwable handleException(Throwable cause, io.netty.channel.Channel channel, SocketAddress address)
      Overrides:
      handleException in class org.infinispan.client.hotrod.impl.operations.RetryOnFailureOperation<T>
    • addParams

      protected void addParams(StringBuilder sb)
      Overrides:
      addParams in class org.infinispan.client.hotrod.impl.operations.HotRodOperation<T>