载入中...
搜索中...
未找到
Transaction.h
浏览该文件的文档.
38 TransactionContext(std::string transactionId, std::string correlationId = {}, std::string causationId = {})
261 [[nodiscard]] eve::Result<eve::OperationId> stage(const std::string& kind, const std::string& target,
269 [[nodiscard]] eve::Result<void> markInvalid(const std::string& operationId, const std::string& error);
271 [[nodiscard]] eve::Result<void> markInvalid(eve::OperationId operationId, const std::string& error);
327 Plan(std::string id, std::string correlation, std::string causation, eve::TransactionId identity = {},
348 explicit Ledger(eve::PersistentId instanceId = {}, eve::UuidEntropySource transactionEntropy = {},
368 [[nodiscard]] eve::Result<Plan*> create(const std::string& correlation = {}, const std::string& causation = {},
393 [[nodiscard]] eve::Result<eve::SnapshotEnvelope> snapshot(const eve::SnapshotHashProvider& hashProvider) const;
403 [[nodiscard]] eve::Result<std::string> snapshotEnvelopeJson(const eve::SnapshotHashProvider& hashProvider) const;
451 [[nodiscard("transaction ledger ownership must be retained or explicitly handled")]] static Ledger* newLedger();
Move-only, checked operation results for the common layer.
Versioned, integrity-checked persistence envelopes.
Coordinates participant lifecycles with deterministic ordering.
Definition Transaction.h:178
Synchronous participant contract for one coordinator transaction.
Definition Transaction.h:128
virtual ~ITransactionParticipant()=default
Releases ITransactionParticipant resources.
virtual Result< void > compensate(const TransactionContext &context)=0
Undo an already committed external effect by compensation.
virtual Result< void > prepare(const TransactionContext &context)=0
Validate and stage local changes for the transaction.
virtual Result< void > rollback(const TransactionContext &context)=0
Discard a prepared but not committed stage.
virtual std::string_view name() const noexcept
Stable diagnostic name for this participant.
Definition Transaction.h:137
virtual Result< void > commit(const TransactionContext &context)=0
Publish this participant's staged changes.
Deterministic owner and identifier allocator for transaction plans.
Definition Transaction.h:345
Ledger & operator=(const Ledger &)=delete
Ledger(const Ledger &)=delete
Immutable-after-validation operation plan for script-coordinated work.
Definition Transaction.h:241
Immutable context shared by every participant of one transaction.
Definition Transaction.h:30
const std::string & correlationId() const noexcept
Business-chain correlation identifier, possibly empty.
Definition Transaction.h:69
TransactionContext(std::string transactionId, std::string correlationId={}, std::string causationId={})
Construct transaction correlation metadata.
Definition Transaction.h:38
TransactionContext(eve::TransactionId transactionId, std::string correlationId={}, std::string causationId={})
Construct a canonical UUID-backed transaction context.
Definition Transaction.h:53
const std::string & causationId() const noexcept
Directly causing command/event identifier, possibly empty.
Definition Transaction.h:71
const eve::TransactionId & identity() const noexcept
Canonical UUID-backed identity; nil only for the legacy string facade.
Definition Transaction.h:65
const std::string & transactionId() const noexcept
Stable identifier projection retained for compatibility.
Definition Transaction.h:67
Script module factory for generic transaction ledgers.
Definition Transaction.h:423
Transaction & operator=(const Transaction &)=delete
Module_REG(Transaction)
Transaction(const Transaction &)=delete
Definition AtomicResourcePayment.cpp:8
std::string stateName(State state)
Returns the stable lowercase name of a transaction state.
Definition Transaction.cpp:319
@ Validated
@ Failed
@ Compensated
@ RolledBack
CoordinatorState
Terminal or in-flight outcome of coordinator-managed participants.
Definition Transaction.h:81
@ CompensationFailed
@ RollbackFailed
@ PartiallyCommitted
std::function< std::chrono::system_clock::time_point()> UuidClock
Clock callback used by the injectable UUIDv7 generator.
Definition Identity.h:469
std::function< bool(std::span< std::uint8_t > bytes)> UuidEntropySource
Entropy callback used by UUIDv7 generation.
Definition Identity.h:466
std::function< Result< ContentId >(std::string_view canonicalInput)> SnapshotHashProvider
Injected content-digest implementation used by snapshots.
Definition Snapshot.h:36
Definition Container.h:602
Stable outer format shared by persistence and cross-process snapshots.
Definition Snapshot.h:46
Deterministically ordered transaction lifecycle event.
Definition Transaction.h:223
eve::OperationId operationIdentity
Canonical operation identity projection, when available.
Definition Transaction.h:232
eve::TransactionId transactionIdentity
Canonical transaction identity projection, when available.
Definition Transaction.h:230
One inert, script-interpreted operation in a transaction plan.
Definition Transaction.h:210
eve::OperationId identity
Canonical operation identity; nil for legacy string-only plans.
Definition Transaction.h:219
Observable summary returned after an atomic participant commit.
Definition Transaction.h:97
std::size_t preparedCount
Definition Transaction.h:105
std::size_t committedCount
Definition Transaction.h:106
std::size_t rolledBackCount
Definition Transaction.h:107
std::size_t compensatedCount
Definition Transaction.h:108
std::size_t participantCount
Definition Transaction.h:104
eve::TransactionId identity
Canonical transaction identity; nil for legacy string contexts.
Definition Transaction.h:99
std::string transactionId
Definition Transaction.h:100
std::string correlationId
Definition Transaction.h:101
std::string causationId
Definition Transaction.h:102