载入中...
搜索中...
未找到
eve::transaction::Ledger类 参考

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]

eve::transaction::Ledger::Ledger ( eve::PersistentId  instanceId = {},
eve::UuidEntropySource  transactionEntropy = {},
eve::UuidClock  transactionClock = {} 
)
explicit

Creates an empty ledger with an optional persistent identity.

在文件 Transaction.cpp 第 169 行定义.

◆ Ledger() [2/3]

eve::transaction::Ledger::Ledger ( const Ledger &  )
delete

◆ Ledger() [3/3]

eve::transaction::Ledger::Ledger ( Ledger &&  )
default

成员函数说明

◆ at()

Plan * eve::transaction::Ledger::at ( int  index)

Returns a plan in creation order, or nullptr.

在文件 Transaction.cpp 第 572 行定义.

引用了 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.

参数
correlationStable business-chain projection.
causationStable causing-command/event projection.
identityExplicit 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 行定义.

引用了 eve::detail::Id128< Tag >::isNil().

◆ operator=() [1/2]

Ledger & eve::transaction::Ledger::operator= ( const Ledger &  )
delete

◆ operator=() [2/2]

Ledger & eve::transaction::Ledger::operator= ( Ledger &&  )
default

Operator =.

◆ restore()

◆ 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.

参数
snapshotSource envelope with schema transaction:ledger.
hashProviderExplicit 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.

参数
hashProviderExplicit 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.


该类的文档由以下文件生成: