public interface CompareAndSwapOperation
  • Method Details

    • getStateData

      Optional<byte[]> getStateData(Optional<Long> timeoutNanos)
      Reads data if it exists
      Parameters:
      timeoutNanos - optional timeout in nanoseconds
      Returns:
      persisted data or empty optional if data not exists
    • compareAndSwap

      boolean compareAndSwap(byte[] originalData, byte[] newData, RemoteBucketState newState, Optional<Long> timeoutNanos)
      Compares and swap data associated with key
      Parameters:
      originalData - previous bucket state(can be null).
      newData - new bucket state
      newState - new state of bucket - can be used to extract additional data is useful for persistence or logging.
      timeoutNanos - optional timeout in nanoseconds
      Returns:
      true if data changed, false if another parallel transaction achieved success instead of current transaction