Deterministic owner and identifier allocator for transaction plans. 更多...
#include <Transaction.h>
Public 成员函数 | |
| Ledger (eve::PersistentId instanceId={}, eve::UuidEntropySource transactionEntropy={}, eve::UuidClock transactionClock={}) | |
| Creates an empty ledger with an optional persistent identity. | |
| Ledger (const Ledger &)=delete | |
| Ledger & | operator= (const Ledger &)=delete |
| Ledger (Ledger &&)=default | |
| Ledger. | |
| Ledger & | operator= (Ledger &&)=default |
| Operator =. | |
| eve::Result< Plan * > | create (const std::string &correlation={}, const std::string &causation={}, eve::TransactionId identity={}) |
| Creates an open plan with a UUID-backed identity. | |
| Plan * | find (const std::string &transactionId) |
| Returns a retained plan by legacy projection, or nullptr. | |
| Plan * | find (eve::TransactionId transactionId) |
| Returns a retained plan by canonical identity, or nullptr. | |
| int | count () const |
| Returns the number of retained plans. | |
| Plan * | at (int index) |
| Returns a plan in creation order, or nullptr. | |
| std::string | snapshotJson () const |
| Exports all plans and allocator state as deterministic compact JSON. | |
| eve::Result< void > | restore (std::string_view json) |
| Transactionally restores a raw ledger snapshot. | |
| eve::Result< eve::SnapshotEnvelope > | snapshot (const eve::SnapshotHashProvider &hashProvider) const |
| Captures the ledger payload in the common SnapshotEnvelope. | |
| eve::Result< void > | restoreSnapshot (const eve::SnapshotEnvelope &snapshot, const eve::SnapshotHashProvider &hashProvider) |
| Restores a verified or migrated transaction-ledger snapshot atomically. | |
| eve::Result< std::string > | snapshotEnvelopeJson (const eve::SnapshotHashProvider &hashProvider) const |
| Serializes the common transaction snapshot envelope. | |
| eve::Result< void > | restoreSnapshotJson (std::string_view json, const eve::SnapshotHashProvider &hashProvider) |
| Parses and transactionally restores a common transaction snapshot envelope. | |
详细描述
Deterministic owner and identifier allocator for transaction plans.
在文件 Transaction.h 第 345 行定义.
构造及析构函数说明
◆ Ledger() [1/3]
|
explicit |
Creates an empty ledger with an optional persistent identity.
在文件 Transaction.cpp 第 169 行定义.
◆ Ledger() [2/3]
|
delete |
◆ Ledger() [3/3]
成员函数说明
◆ at()
| Plan * eve::transaction::Ledger::at | ( | int | index | ) |
◆ count()
| int eve::transaction::Ledger::count | ( | ) | const |
Returns the number of retained plans.
在文件 Transaction.cpp 第 571 行定义.
◆ create()
| eve::Result< Plan * > eve::transaction::Ledger::create | ( | const std::string & | correlation = {}, |
| const std::string & | causation = {}, |
||
| eve::TransactionId | identity = {} |
||
| ) |
Creates an open plan with a UUID-backed identity.
- 参数
-
correlation Stable business-chain projection. causation Stable causing-command/event projection. identity Explicit non-nil identity, or nil to use the injected UUID source.
- 返回
- A borrowed plan owned by this ledger, or a structured failure.
在文件 Transaction.cpp 第 541 行定义.
引用了 eve::Applied, code, eve::Conflict, eve::Diagnostic::error(), eve::Failed, eve::Result< T >::failure(), eve::detail::Id128< Tag >::format(), eve::detail::Id128< Tag >::fromUuid(), eve::detail::Id128< Tag >::isNil(), message, eve::Status::success(), eve::Result< T >::success() , 以及 eve::Unsupported.
◆ find() [1/2]
| Plan * eve::transaction::Ledger::find | ( | const std::string & | transactionId | ) |
Returns a retained plan by legacy projection, or nullptr.
在文件 Transaction.cpp 第 560 行定义.
◆ find() [2/2]
| Plan * eve::transaction::Ledger::find | ( | eve::TransactionId | transactionId | ) |
Returns a retained plan by canonical identity, or nullptr.
在文件 Transaction.cpp 第 565 行定义.
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ restore()
| eve::Result< void > eve::transaction::Ledger::restore | ( | std::string_view | json | ) |
Transactionally restores a raw ledger snapshot.
- 参数
-
json Snapshot produced by snapshotJson().
- 返回
- Success, or a structured failure that leaves this ledger unchanged.
- 备注
- This Result path is the single restoration implementation. The
在文件 Transaction.cpp 第 587 行定义.
引用了 eve::transaction::Operation::checked, code, eve::Conflict, eve::Diagnostic::error(), eve::transaction::Operation::error, events, eve::Result< T >::failure(), id, eve::transaction::Operation::id, eve::transaction::Operation::identity, eve::transaction::Operation::kind, message, eve::transaction::Event::operationId, eve::json::Document::parse(), eve::detail::Id128< Tag >::parse(), eve::ParseError, eve::transaction::Operation::payload, root, eve::transaction::Event::sequence, state, eve::Result< T >::success(), eve::transaction::Operation::target, eve::transaction::Operation::valid , 以及 value.
被这些函数引用 restoreSnapshot().
◆ restoreSnapshot()
| eve::Result< void > eve::transaction::Ledger::restoreSnapshot | ( | const eve::SnapshotEnvelope & | snapshot, |
| const eve::SnapshotHashProvider & | hashProvider | ||
| ) |
Restores a verified or migrated transaction-ledger snapshot atomically.
- 参数
-
snapshot Source envelope with schema transaction:ledger.hashProvider Explicit content-digest provider.
- 返回
- Success, or a failure leaving all ledger state unchanged.
在文件 Transaction.cpp 第 723 行定义.
引用了 eve::Conflict, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, payload, restore(), source, eve::Result< T >::success() , 以及 eve::validateSnapshotPayloadMetadata().
◆ restoreSnapshotJson()
| eve::Result< void > eve::transaction::Ledger::restoreSnapshotJson | ( | std::string_view | json, |
| const eve::SnapshotHashProvider & | hashProvider | ||
| ) |
Parses and transactionally restores a common transaction snapshot envelope.
在文件 Transaction.cpp 第 758 行定义.
引用了 eve::Result< T >::failure(), eve::parseSnapshotEnvelope() , 以及 source.
◆ snapshot()
| eve::Result< eve::SnapshotEnvelope > eve::transaction::Ledger::snapshot | ( | const eve::SnapshotHashProvider & | hashProvider | ) | const |
Captures the ledger payload in the common SnapshotEnvelope.
- 参数
-
hashProvider Explicit content-digest provider.
- 返回
- A sealed transaction-ledger snapshot.
在文件 Transaction.cpp 第 716 行定义.
引用了 eve::Result< T >::failure(), eve::Value::fromJson(), eve::makeSnapshotEnvelope() , 以及 payload.
◆ snapshotEnvelopeJson()
| eve::Result< std::string > eve::transaction::Ledger::snapshotEnvelopeJson | ( | const eve::SnapshotHashProvider & | hashProvider | ) | const |
Serializes the common transaction snapshot envelope.
在文件 Transaction.cpp 第 751 行定义.
引用了 eve::Result< T >::failure(), eve::serializeSnapshotEnvelope() , 以及 value.
◆ snapshotJson()
| std::string eve::transaction::Ledger::snapshotJson | ( | ) | const |
Exports all plans and allocator state as deterministic compact JSON.
在文件 Transaction.cpp 第 577 行定义.
引用了 quote.
该类的文档由以下文件生成:
- src/modules/transaction/Transaction.h
- src/modules/transaction/Transaction.cpp