pub const fn remote_cache_action(
current: Option<RemoteSegmentLifecycle>,
target: RemoteSegmentLifecycle,
exact_retry: bool,
) -> RemoteCacheActionExpand description
Classify one remote-segment cache update against the cached state, None
when the cache holds no such segment.
A forward lifecycle edge stores its target: readable at CopyFinished,
hidden at DeleteStarted, removed at DeleteFinished. An update for a
missing segment is an idempotent tombstone when it is DeleteFinished and
rejected otherwise, so an update can never resurrect a segment.
Kafka’s RemoteLogMetadataCache admits every self transition. This cache
is stricter: a self transition is a no-op only for an exact retry (the host
compares timestamp, broker and custom metadata) and is rejected as a
conflict otherwise.