IndexedAction

data class IndexedAction<out A>(val index: Long, val action: A, val dedupKey: DedupKey)

An application action that has been committed to the replicated log at index.

Parameters

index

1-based monotonically increasing position in the committed log. Two nodes in the same cluster assign the same index to the same action.

action

The deserialized application action.

dedupKey

The Raft §8 client-serial dedup identity stamped onto this entry by its proposer. Always present — every committed application entry is stamped, including the auto-serial TurnSequencer.propose path. Fold it through a us.tractat.kuilt.raft.ClientSessionTable in the apply loop to preserve exactly-once across forwarding and reconnect: skip the entry when us.tractat.kuilt.raft.ClientSessionTable.shouldApply returns false.

Constructors

Link copied to clipboard
constructor(index: Long, action: A, dedupKey: DedupKey)

Properties

Link copied to clipboard
val action: A
Link copied to clipboard
Link copied to clipboard
val index: Long