Interface PositionStore
- All Known Implementing Classes:
InMemoryPositionStore
public interface PositionStore
-
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Closes any underlying resources held by the store.Retrieves the full multi-segment position for the given consumer.resetPosition(String consumer, long lastIndex) Resets the position of the consumer for all segments to the given index.storePosition(String consumer, int[] segment, long lastIndex) Stores the latest processed index for a given segment range and consumer.default CompletableFuture<Void> storePosition(String consumer, Position current, int[] segment, long lastIndex) Stores the latest processed index for a given segment range and consumer, optionally using the caller's current view of the full position as additional context.
-
Method Details
-
storePosition
Stores the latest processed index for a given segment range and consumer.- Parameters:
consumer- the consumer name (e.g., the tracking processor)segment- the segment range for which this index applieslastIndex- the last index successfully handled- Returns:
- a future that completes when the position is stored
-
storePosition
default CompletableFuture<Void> storePosition(String consumer, Position current, int[] segment, long lastIndex) Stores the latest processed index for a given segment range and consumer, optionally using the caller's current view of the full position as additional context.The supplied
currentposition is the position the caller believes is currently stored for the consumer before applying this update. Implementations may ignore it or use it to optimize writes or perform optimistic concurrency checks before persisting the updated position.The default implementation delegates to
storePosition(String, int[], long)and therefore ignorescurrent.- Parameters:
consumer- the consumer name (e.g., the tracking processor)current- the caller's current view of the stored position for the consumersegment- the segment range for which this index applieslastIndex- the last index successfully handled- Returns:
- a future that completes when the position is stored
-
resetPosition
Resets the position of the consumer for all segments to the given index.- Parameters:
consumer- the consumer namelastIndex- the new index to assign for all segments- Returns:
- a future that completes when the reset is applied
-
position
-
close
void close()Closes any underlying resources held by the store.
-