Interface ConstructSnapshot.UsePreviousValues

All Known Subinterfaces:
ConstructSnapshot.SnapshotControl
All Known Implementing Classes:
ConstructSnapshot.StaticSnapshotControl, OperationSnapshotControl, OperationSnapshotControlEx
Enclosing class:
ConstructSnapshot
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public static interface ConstructSnapshot.UsePreviousValues
  • Method Summary

    Modifier and Type
    Method
    Description
    usePreviousValues(long beforeClockValue)
    Determine if previous values should be used in table data access for the given clock value.
  • Method Details

    • usePreviousValues

      Boolean usePreviousValues(long beforeClockValue)

      Determine if previous values should be used in table data access for the given clock value.

      Expected to never request previous values during the idle phase of a cycle.

      Must never request previous values for a source that has already been updated on the current cycle, unless it can be proven that that source was not instantiated on the current cycle.

      Must be safe to call more than once, exactly once per snapshot attempt.

      Parameters:
      beforeClockValue - The current clock value before the snapshot function will be invoked
      Returns:
      A Boolean with the following meaning:
      • true if previous values should be used
      • false if they should not
      • null if a clock discrepancy was detected and we must retry with a new beforeClockValue