Class ReplaceIfUnmodifiedOperation<K,V>

java.lang.Object
java.util.concurrent.CompletableFuture<VersionedOperationResponse<org.infinispan.api.common.CacheEntry<K,V>>>
org.infinispan.hotrod.impl.operations.HotRodOperation<VersionedOperationResponse<org.infinispan.api.common.CacheEntry<K,V>>>
org.infinispan.hotrod.impl.operations.RetryOnFailureOperation<VersionedOperationResponse<org.infinispan.api.common.CacheEntry<K,V>>>
org.infinispan.hotrod.impl.operations.StatsAffectingRetryingOperation<VersionedOperationResponse<org.infinispan.api.common.CacheEntry<K,V>>>
org.infinispan.hotrod.impl.operations.AbstractKeyOperation<K,VersionedOperationResponse<org.infinispan.api.common.CacheEntry<K,V>>>
org.infinispan.hotrod.impl.operations.AbstractKeyValueOperation<K,VersionedOperationResponse<org.infinispan.api.common.CacheEntry<K,V>>>
org.infinispan.hotrod.impl.operations.ReplaceIfUnmodifiedOperation<K,V>
All Implemented Interfaces:
Runnable, CompletionStage<VersionedOperationResponse<org.infinispan.api.common.CacheEntry<K,V>>>, Future<VersionedOperationResponse<org.infinispan.api.common.CacheEntry<K,V>>>, HotRodConstants, ChannelOperation

public class ReplaceIfUnmodifiedOperation<K,V> extends AbstractKeyValueOperation<K,VersionedOperationResponse<org.infinispan.api.common.CacheEntry<K,V>>>
Implement "replaceIfUnmodified" as defined by Hot Rod protocol specification.
Since:
14.0
  • Constructor Details

    • ReplaceIfUnmodifiedOperation

      public ReplaceIfUnmodifiedOperation(OperationContext operationContext, K key, byte[] keyBytes, byte[] value, long version, org.infinispan.api.common.CacheWriteOptions options, DataFormat dataFormat)
  • Method Details

    • executeOperation

      protected void executeOperation(io.netty.channel.Channel channel)
      Description copied from class: 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 RetryOnFailureOperation<VersionedOperationResponse<org.infinispan.api.common.CacheEntry<K,V>>>
      Parameters:
      channel - the channel to use for I/O
    • acceptResponse

      public void acceptResponse(io.netty.buffer.ByteBuf buf, short status, HeaderDecoder decoder)
      Specified by:
      acceptResponse in class HotRodOperation<VersionedOperationResponse<org.infinispan.api.common.CacheEntry<K,V>>>