Repository navigation
Release v19.35.0
Appending an event can fail in a way that leaves you unsure whether the event was stored. You can now prepare an append once and later check whether a stored event holds exactly that content.
Added
eventSequence.Prepare(event)serializes an event once with the store's real event serializer, including polymorphic types and additional-information providers, and returns aPreparedEventsnapshot that append and verification both reuse. (#4510)AppendPrepared(eventSourceId, preparedEvent)appends a prepared event, andAppendPrepared<TEventSource>(...)does the same through a registered event source, resolving routing and concurrency scope the wayAppend<TEventSource>does. (#4510)eventSequence.VerifyContent(sequenceNumber, preparedEvent, eventSourceId)reports whether the complete content of a stored event isEqual,DifferentorUnavailablecompared with the prepared event, without returning the stored content to the caller. Erased, unreadable and revised content isUnavailable, as is content on SQL storage, where revision state is not yet tracked. (#4510)- Verification compares content across every stored generation of the event type and reports
Unavailablewhen any generation cannot be compared without losing precision. (#4510) - The Workbench exposes a
VerifyContentcommand and generated proxies for content verification. (#4510) - Documentation for preparing, appending and verifying events, including the limits of verification: https://github.com/Cratis/Chronicle/blob/main/Documentation/events/appending.mdx (#4510)