Adapts integral AttributeSet base values to IResourceAccount. 更多...
#include <AttributeSetResourceAccount.h>
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]
|
explicit |
Bind an account adapter to an existing caller-owned AttributeSet.
在文件 AttributeSetResourceAccount.cpp 第 93 行定义.
◆ AttributeSetResourceAccount() [2/3]
|
delete |
◆ AttributeSetResourceAccount() [3/3]
|
delete |
◆ ~AttributeSetResourceAccount()
|
overridedefault |
Attribute set resource account.
成员函数说明
◆ canAfford()
|
overridevirtual |
Query whether a cost can be paid from currently available funds.
- 参数
-
cost Valid 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()
|
overridevirtual |
Commit one active reservation as an atomic debit.
- 参数
-
reservation Credential 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()
|
overridevirtual |
Atomically credit all items immediately.
- 参数
-
cost Valid 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()
|
overridevirtual |
Atomically debit all items immediately.
- 参数
-
cost Valid 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]
|
delete |
◆ operator=() [2/2]
|
delete |
◆ reserve()
|
overridevirtual |
Reserve all items of a cost without changing visible balances.
- 参数
-
cost Valid 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()
|
overridevirtual |
Release one active reservation without changing balances.
- 参数
-
reservation Credential 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().
该类的文档由以下文件生成:
- src/modules/attributes/AttributeSetResourceAccount.h
- src/modules/attributes/AttributeSetResourceAccount.cpp
Public 成员函数 继承自