载入中...
搜索中...
未找到
VersionedRegistry.cpp
浏览该文件的文档.
11 if (nextEventSequence.isZero()) return eve::Result<void>::failure(eve::Diagnostic::error(eve::DiagnosticCode::ParseError, "registry next event sequence must be positive"));
32eve::Result<void> EventLogValidator::accept(EventSequence sequence, Generation generation, bool remove,
35 return eve::Result<void>::failure(eve::Diagnostic::error(eve::DiagnosticCode::ParseError, "registry event sequence is not increasing"));
36 if (generation.isZero()) return eve::Result<void>::failure(eve::Diagnostic::error(eve::DiagnosticCode::ParseError, "registry event generation must be positive"));
37 if (remove && !tombstone) return eve::Result<void>::failure(eve::Diagnostic::error(eve::DiagnosticCode::ParseError, "remove event must describe a tombstone"));
38 if (!remove && tombstone) return eve::Result<void>::failure(eve::Diagnostic::error(eve::DiagnosticCode::ParseError, "only remove events may describe tombstones"));
45 return eve::Result<void>::failure(eve::Diagnostic::error(eve::DiagnosticCode::ParseError, "next event sequence must exceed retained events"));
Generation-qualified storage for replaceable, non-ECS registry data.
static Diagnostic error(DiagnosticCode code, std::string message, std::string path={}, DiagnosticDetails details={}, std::string source={})
Construct an error diagnostic with the standard error severity.
Definition Diagnostic.h:125
static Result failure(Status status)
Construct a failed result from a structured status.
Definition Result.h:175
eve::Result< void > accept(EventSequence sequence, Generation generation, bool remove, bool tombstone)
Accept one event header; the first failure describes the whole log.
Definition VersionedRegistry.cpp:32
eve::Result< void > finish(EventSequence nextEventSequence) const
Validate the boundary between the retained log and the next sequence.
Definition VersionedRegistry.cpp:43
constexpr bool isZero() const noexcept
Returns whether this value is zero.
Definition StrongUint64.h:28
Definition EventSequence.h:8
eve::Result< EventSequence > nextRegistryEventSequence(EventSequence current)
Next event sequence, or a Failed diagnostic when it is exhausted.
Definition VersionedRegistry.cpp:24
eve::Result< void > validateRegistryNextSequence(EventSequence nextEventSequence)
Validates the next-event-sequence floor of a restored registry image.
Definition VersionedRegistry.cpp:10
eve::Result< Generation > nextRegistryGeneration(Generation current, bool present)
Next generation of one slot; present false means the slot is new.
Definition VersionedRegistry.cpp:15
@ Failed
@ ParseError
detail::StrongUint64< detail::GenerationTag > Generation
Registry/object replacement generation used to reject stale handles.
Definition Generation.h:13