Package-level declarations

Types

Link copied to clipboard
data class AccessStamp(val ref: AggregateRef, val access: Map<String, Any?>, val asOf: Int, val from: Int, val until: Int)

One stamp of AccessStamps.stampAll: access as of asOf over the streams of ref from from until until.

Link copied to clipboard

The stamps of a store that keeps an aggregate's history with its access attributes (AccessValues): a log, or an index of its streams. A stamp writes the aggregate's current attributes over its earlier streams, so that a query of its history authorizes each stream by what the aggregate is now.

Link copied to clipboard

An aggregate's access attributes as every record stores them (a stream, a snapshot, a published state event): by name, a single attribute's value or null, a multiple one's values as a list, sorted and distinct; each value a String (an enum by its JSON name), a Long or a Boolean. A record has this one form whatever wrote or read it, so two records hold the same attributes exactly when their maps are equal.

Link copied to clipboard
data class AccessWalk(val schema: String, val heads: Map<Int, Long>, val cursor: String? = null, val walked: Long = 0, val completed: Boolean = false)

The walk of one aggregate type, as its log records it (AccessWalks.walk): schema, the type's access schema it stamps with; heads, each partition's head when it was claimed, which bound the streams it stamps (later ones are the follower's); cursor, the page of aggregates it is past (null: none yet); walked, the aggregates it stamped; whether it is completed.

Link copied to clipboard

The walks of a log's history (AccessStamps it also is): a walk of an aggregate type stamps each of its aggregates' streams with the attributes of its current state, for the streams no commit stamped with the type's current access schema (written before the log kept attributes, imported, or before the model declared what it declares now).

Link copied to clipboard
data class AggregatePage(val refs: List<AggregateRef>, val next: String?)

A page of a type's aggregates (AccessWalks.aggregates), and the cursor of the next one; null after the last.