Composes RPG recipes with existing production and inventory owners. 更多...
#include <Crafting.h>
静态 Public 成员函数 | |
| static eve::Result< CraftingReceipt > | begin (CraftingRequest request) |
| Atomically debit ingredients and enqueue pinned recipe work. | |
| static eve::Result< int > | settle (production::WorkQueue &queue, inventory::Bag &output, std::string_view taskId) |
| Publish every reserved recipe output and settle the task exactly once. | |
详细描述
Composes RPG recipes with existing production and inventory owners.
- 备注
- Calls are synchronous and owner-thread only. The adapter retains no borrowed pointers. Ingredient balances remain owned by the supplied account, queued work by WorkQueue, and outputs by Bag.
在文件 Crafting.h 第 60 行定义.
成员函数说明
◆ begin()
|
static |
Atomically debit ingredients and enqueue pinned recipe work.
在文件 Crafting.cpp 第 282 行定义.
引用了 eve::Applied, eve::production::ProductionRequest::batchSize, context, eve::production::ProductionRequest::context, eve::production::ProductionRequest::definition, eve::production::ProductionRequest::duration, eve::transaction::AtomicResourcePayment::execute(), eve::Result< T >::failure(), eve::InvalidArgument, eve::production::ProductionRequest::kind, output, eve::production::ProductionRequest::owner, eve::production::ProductionRequest::priority, eve::production::ProductionRequest::product, request, eve::production::ProductionRequest::reservation, eve::production::ProductionRequest::settlementRequired, eve::Status::success() , 以及 eve::Result< T >::success().
◆ settle()
|
static |
Publish every reserved recipe output and settle the task exactly once.
- 参数
-
queue Authoritative queue containing the ready task. output Borrowed authoritative destination inventory. taskId Stable production task id.
- 返回
- Added item quantity, NoOp for the same completed receipt, or a structured failure that leaves a retryable task and inventory unchanged.
在文件 Crafting.cpp 第 337 行定义.
引用了 eve::Applied, eve::production::Completed, eve::Conflict, context, current, eve::transaction::Coordinator::execute(), eve::production::WorkQueue::failSettlement(), eve::Result< T >::failure(), eve::production::WorkQueue::find(), eve::NoOp, eve::NotFound, output, eve::production::ProductionSettlementReceipt::payload, eve::production::ReadyToSettle, eve::production::SettlementFailed, eve::production::ProductionSettlementReceipt::settlementId, eve::Status::success(), eve::Result< T >::success() , 以及 taskId.
该类的文档由以下文件生成:
- src/modules/rpg/Crafting.h
- src/modules/rpg/Crafting.cpp