StateEventRecord
The published unit of a context: one committed event stream of an aggregate with the aggregate's state after it, what the Kafka Sink writes to the aggregate type's topic and what another context's subscription reads. It lives in :spi because the backends that write or read it depend on :spi only.
ref and version identify the commit; id (
ref@version) is what a reader deduplicates by (publishing is at least once).commandId, requestId, commandType, commitTime, scope, causation, headers and operator are the stream's facts; events are its events at their current revision.
state is the aggregate's state after the stream; null when the sink publishes the aggregate type without it (
PublishedManifest.includeState). deleted is the aggregate's after the stream, as the kernel evolved it, and access its access attributes, the built-in owner and space among them, in their stored form (me.ahoo.wow.spi.access.AccessValues): the stream's, which a stamp keeps current; null when the stream has none and the state is not at hand. Both are published either way, access with accessVersion, the version it is of (the stream's own by default; a later one's when a stamp wrote them), null with it.transport is the stream's transport metadata: the wait context and the trace. It is not a fact: the envelope carries it beside the record (me.ahoo.wow.spi.transport.Envelope.transport), never inside it.
imported marks a commit migrate-data imported from 9.x, at or before the context's cut-over (me.ahoo.wow.spi.subscription.ImportCutover): 9.x already acted on it, so a peer's saga or reactor passes over it, while a projection or a sink takes it. False for every commit a V10 service made.
Fields may be added: construct one with of; the constructor is internal to Wow.
Constructors
Properties
Functions
This StateEventRecord with the given fields replaced: Wow's own copy, left out of the ABI.