InsertsAbove

data class InsertsAbove(val floor: VersionVector) : ReplayScope

Every frame carrying at least one Insert whose Dot is strictly above floor for its author — a query over the archive's causal coverage.

Inserts only, deliberately, and this is NOT a resume cursor. A Remove mints no dot: it reuses its target Insert's id, and it arrives arbitrarily later than that insert (a gossiped tombstone for an old record). A frame of removes could therefore only claim its targets' old dots — in which case a resume-from-dot cursor skips the frame and replays a removed record as live — or claim nothing, which is what this format chose. So a frame with no inserts is never selected by this scope, however recent it is. Resume with FromOffset; use this to ask which frames cover a causal range.

Samples

// A QUERY over the archive's causal coverage — "which frames cover anything above this
// frontier?" — and not a resume cursor.
val floor = VersionVector.of(mapOf(ReplicaId("server-uuid-abc123") to 12L))
bolt.replay(ReplayScope.InsertsAbove(floor)).frames().collect { frame ->
    ship(frame.ops)
}

// A `Remove` mints no dot: it reuses its target `Insert`'s id. So a frame of pure removes
// carries no dots and is selected by NO dot scope, however recent it is — resuming from a
// dot frontier would silently replay a removed record as live. Resume with FromOffset.

Constructors

Link copied to clipboard
constructor(floor: VersionVector)

Properties

Link copied to clipboard