载入中...
搜索中...
未找到
EconomyLedgerResourceAccount.h
浏览该文件的文档.
31class EVENGINE_API_FOUNDATION EconomyLedgerResourceAccount final : public eve::resource::IResourceAccount {
51 [[nodiscard]] eve::Result<eve::resource::Reservation> reserve(const eve::resource::CostSpec& cost) override;
55 [[nodiscard]] eve::Result<eve::resource::Receipt> debit(const eve::resource::CostSpec& cost) override;
59 [[nodiscard]] eve::Result<eve::resource::Receipt> credit(const eve::resource::CostSpec& cost) override;
63 [[nodiscard]] eve::Result<eve::resource::Receipt> commit(const eve::resource::Reservation& reservation) override;
67 [[nodiscard]] eve::Result<void> rollback(const eve::resource::Reservation& reservation) override;
77 [[nodiscard]] eve::Result<std::int64_t> balanceOf(const eve::resource::ResourceId& resource) const;
78 [[nodiscard]] eve::Result<std::int64_t> activeReservationsFor(const eve::resource::ResourceId& resource) const;
81 [[nodiscard]] eve::Result<void> validateLedgerRange(const eve::resource::CostSpec& cost, bool debit) const;
Strongly typed, transaction-friendly resource cost protocol.
Adapts one caller-owned EconomyLedger to IResourceAccount.
Definition EconomyLedgerResourceAccount.h:31
EconomyLedgerResourceAccount(const EconomyLedgerResourceAccount &)=delete
EconomyLedgerResourceAccount & operator=(const EconomyLedgerResourceAccount &)=delete
EconomyLedgerResourceAccount(EconomyLedgerResourceAccount &&)=delete
~EconomyLedgerResourceAccount() override=default
Economy ledger resource account.
EconomyLedgerResourceAccount & operator=(EconomyLedgerResourceAccount &&)=delete
Opaque process-local identity of the account that issued a credential.
Definition ResourceAccount.h:237
Provider-neutral resource account contract.
Definition ResourceAccount.h:316
Strong identity of a resource kind, such as mana or gold.
Definition ResourceAccount.h:40
Definition IEconomy.h:5
Reservation credential returned by a successful reserve operation.
Definition ResourceAccount.h:279