Interface CompareAndSwapOperation


  • public interface CompareAndSwapOperation
    • Method Detail

      • 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