载入中...
搜索中...
未找到
eve::attributes::AttributeSetResourceAccount类 参考final

Adapts integral AttributeSet base values to IResourceAccount. 更多...

#include <AttributeSetResourceAccount.h>

类 eve::attributes::AttributeSetResourceAccount 继承关系图:
eve::resource::IResourceAccount

Public 成员函数

 AttributeSetResourceAccount (AttributeSet &attributes)
 Bind an account adapter to an existing caller-owned AttributeSet.
 
 AttributeSetResourceAccount (const AttributeSetResourceAccount &)=delete
 
AttributeSetResourceAccount & operator= (const AttributeSetResourceAccount &)=delete
 
 AttributeSetResourceAccount (AttributeSetResourceAccount &&)=delete
 
AttributeSetResourceAccount & operator= (AttributeSetResourceAccount &&)=delete
 
 ~AttributeSetResourceAccount () override=default
 Attribute set resource account.
 
eve::Result< eve::resource::Affordability > canAfford (const eve::resource::CostSpec &cost) const override
 Query whether a cost can be paid from currently available funds.
 
eve::Result< eve::resource::Reservation > reserve (const eve::resource::CostSpec &cost) override
 Reserve all items of a cost without changing visible balances.
 
eve::Result< eve::resource::Receipt > debit (const eve::resource::CostSpec &cost) override
 Atomically debit all items immediately.
 
eve::Result< eve::resource::Receipt > credit (const eve::resource::CostSpec &cost) override
 Atomically credit all items immediately.
 
eve::Result< eve::resource::Receipt > commit (const eve::resource::Reservation &reservation) override
 Commit one active reservation as an atomic debit.
 
eve::Result< void > rollback (const eve::resource::Reservation &reservation) override
 Release one active reservation without changing balances.
 
- Public 成员函数 继承自 eve::resource::IResourceAccount
virtual ~IResourceAccount ()=default
 Releases IResourceAccount resources.
 

详细描述

Adapts integral AttributeSet base values to IResourceAccount.

The resource id is the AttributeSet attribute id. The adapter reads and writes the base value; modifiers remain AttributeSet projections and are intentionally not folded into an account balance. Attribute values used as resources must be finite, integral and non-negative. AttributeSet owns the balance; this adapter only owns active reservation bookkeeping.

The referenced AttributeSet is borrowed and must outlive this adapter. All operations are synchronous and must be called on the owner thread.

在文件 AttributeSetResourceAccount.h 第 30 行定义.

构造及析构函数说明

◆ AttributeSetResourceAccount() [1/3]

eve::attributes::AttributeSetResourceAccount::AttributeSetResourceAccount ( AttributeSet &  attributes)
explicit

Bind an account adapter to an existing caller-owned AttributeSet.

在文件 AttributeSetResourceAccount.cpp 第 93 行定义.

引用了 eve::resource::allocateAccountNonce().

◆ AttributeSetResourceAccount() [2/3]

eve::attributes::AttributeSetResourceAccount::AttributeSetResourceAccount ( const AttributeSetResourceAccount &  )
delete

◆ AttributeSetResourceAccount() [3/3]

eve::attributes::AttributeSetResourceAccount::AttributeSetResourceAccount ( AttributeSetResourceAccount &&  )
delete

◆ ~AttributeSetResourceAccount()

eve::attributes::AttributeSetResourceAccount::~AttributeSetResourceAccount ( )
overridedefault

Attribute set resource account.

成员函数说明

◆ canAfford()

eve::Result< Affordability > eve::attributes::AttributeSetResourceAccount::canAfford ( const eve::resource::CostSpec &  cost) const
overridevirtual

Query whether a cost can be paid from currently available funds.

参数
costValid canonical cost borrowed for the call.
返回
Structured affordability, or a failed Result for invalid input/provider failure.

Can afford.

实现了 eve::resource::IResourceAccount.

在文件 AttributeSetResourceAccount.cpp 第 126 行定义.

引用了 cost, eve::Diagnostic::error(), eve::Failed, eve::Result< T >::failure(), eve::resource::AccountNonce::isZero(), eve::resource::CostSpec::items(), eve::Result< T >::success() , 以及 valid.

被这些函数引用 eve::attributes::AttributeResourceAccountAdapter::canAfford(), debit() , 以及 reserve().

◆ commit()

eve::Result< Receipt > eve::attributes::AttributeSetResourceAccount::commit ( const eve::resource::Reservation &  reservation)
overridevirtual

Commit one active reservation as an atomic debit.

参数
reservationCredential borrowed for the call.
返回
A debit receipt, or Conflict/NotFound without partial mutation.

Commits .

实现了 eve::resource::IResourceAccount.

在文件 AttributeSetResourceAccount.cpp 第 315 行定义.

引用了 eve::Applied, covered, eve::Diagnostic::error(), eve::Failed, eve::Result< T >::failure(), eve::resource::AccountNonce::isZero(), eve::Status::success(), eve::Result< T >::success() , 以及 eve::detail::StrongUint64< Tag >::value().

被这些函数引用 eve::attributes::AttributeResourceAccountAdapter::commit().

◆ credit()

eve::Result< Receipt > eve::attributes::AttributeSetResourceAccount::credit ( const eve::resource::CostSpec &  cost)
overridevirtual

Atomically credit all items immediately.

参数
costValid canonical positive quantities borrowed for the call.
返回
A credit receipt, or a failure with no state mutation.

Credit.

实现了 eve::resource::IResourceAccount.

在文件 AttributeSetResourceAccount.cpp 第 252 行定义.

引用了 eve::Applied, cost, eve::Diagnostic::error(), eve::Failed, eve::Result< T >::failure(), eve::Status::failure(), eve::resource::AccountNonce::isZero(), eve::resource::CostSpec::items(), eve::Status::success(), eve::Result< T >::success(), valid , 以及 eve::detail::StrongUint64< Tag >::value().

被这些函数引用 eve::attributes::AttributeResourceAccountAdapter::credit().

◆ debit()

eve::Result< Receipt > eve::attributes::AttributeSetResourceAccount::debit ( const eve::resource::CostSpec &  cost)
overridevirtual

Atomically debit all items immediately.

参数
costValid canonical cost borrowed for the call.
返回
A debit receipt, or a failure with no state mutation.

Debit.

实现了 eve::resource::IResourceAccount.

在文件 AttributeSetResourceAccount.cpp 第 226 行定义.

引用了 eve::Applied, canAfford(), cost, eve::Diagnostic::error(), eve::Failed, eve::Result< T >::failure(), eve::Status::success(), eve::Result< T >::success() , 以及 eve::detail::StrongUint64< Tag >::value().

被这些函数引用 eve::attributes::AttributeResourceAccountAdapter::debit().

◆ operator=() [1/2]

AttributeSetResourceAccount & eve::attributes::AttributeSetResourceAccount::operator= ( AttributeSetResourceAccount &&  )
delete

◆ operator=() [2/2]

AttributeSetResourceAccount & eve::attributes::AttributeSetResourceAccount::operator= ( const AttributeSetResourceAccount &  )
delete

◆ reserve()

eve::Result< Reservation > eve::attributes::AttributeSetResourceAccount::reserve ( const eve::resource::CostSpec &  cost)
overridevirtual

Reserve all items of a cost without changing visible balances.

参数
costValid canonical cost borrowed for the call.
返回
A reservation credential, or a failure with no state mutation.

Reserve.

实现了 eve::resource::IResourceAccount.

在文件 AttributeSetResourceAccount.cpp 第 159 行定义.

引用了 eve::Applied, canAfford(), eve::Conflict, cost, eve::Diagnostic::error(), eve::Failed, eve::Result< T >::failure(), eve::Status::failure(), id, eve::Status::success(), eve::Result< T >::success(), eve::detail::StrongUint64< Tag >::value() , 以及 value.

被这些函数引用 eve::attributes::AttributeResourceAccountAdapter::reserve().

◆ rollback()

eve::Result< void > eve::attributes::AttributeSetResourceAccount::rollback ( const eve::resource::Reservation &  reservation)
overridevirtual

Release one active reservation without changing balances.

参数
reservationCredential borrowed for the call.
返回
Applied on the first rollback; duplicate/foreign credentials fail explicitly.

Rollback.

实现了 eve::resource::IResourceAccount.

在文件 AttributeSetResourceAccount.cpp 第 350 行定义.

引用了 eve::Applied, eve::Diagnostic::error(), eve::Failed, eve::Result< T >::failure(), eve::resource::AccountNonce::isZero(), eve::Status::success() , 以及 eve::Result< T >::success().

被这些函数引用 eve::attributes::AttributeResourceAccountAdapter::rollback().


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