载入中...
搜索中...
未找到
Production.h
浏览该文件的文档.
30enum class TaskState { Queued, Running, Paused, ReadyToSettle, SettlementFailed, Completed, Cancelled, Failed };
235 [[nodiscard]] eve::Result<void> cancel(std::string_view taskId, std::string_view reason = "cancelled");
237 [[nodiscard]] eve::Result<void> fail(std::string_view taskId, std::string_view reason = "failed");
239 [[nodiscard]] eve::Result<void> settle(std::string_view taskId, ProductionSettlementReceipt receipt);
241 [[nodiscard]] eve::Result<void> failSettlement(std::string_view taskId, std::string_view reason);
248 [[nodiscard]] eve::Result<void> contribute(std::string_view taskId, WorkContribution contribution);
261 [[nodiscard]] eve::Result<std::uint32_t> advanceTo(eve::SimulationTick target, eve::Duration fixedDelta,
274 [[nodiscard]] eve::Result<void> setSchedulerStrategy(std::string_view owner, SchedulerStrategy strategy);
278 [[nodiscard]] eve::Result<void> setResourceCapacity(std::string_view owner, std::string_view resource,
288 [[nodiscard]] eve::Result<void> setTagAvailable(std::string_view owner, std::string_view tag, bool available);
318 [[nodiscard]] eve::OptionalRef<const ProductionTask> ownerTaskAt(std::string_view owner, int index);
320 [[nodiscard]] eve::OptionalRef<const ProductionTask> ownerTaskAt(std::string_view owner, int index) const;
338 [[nodiscard]] eve::Result<eve::SnapshotEnvelope> snapshot(const eve::SnapshotHashProvider& hashProvider) const;
348 [[nodiscard]] eve::Result<std::string> snapshotEnvelopeJson(const eve::SnapshotHashProvider& hashProvider) const;
382inline std::ostream& operator<<(std::ostream& stream, TaskState state) { return stream << taskStateName(state); }
Vocabulary aliases for nullable and checked borrowed references.
Common identity and hot-reload contract for typed runtime instances.
Shared metadata for independently deployable command and work queues.
Versioned, integrity-checked persistence envelopes.
Explicit Value/Owned/Borrowed semantics at the Squirrel boundary.
std::vector< ecs::EntityHandle > schedule
The round's activation queue, resolved against the target battle.
Definition TacticsPersistence.cpp:170
Common time values and an injectable deterministic simulation clock.
static constexpr StrongUint64 zero() noexcept
Returns the zero value for this strong type.
Definition StrongUint64.h:24
Script module factory for generic production queues.
Definition Production.h:387
static eve::Result< WorkQueueHandleRef > newQueueHandle()
Allocates a production queue and returns its ownership reference.
Definition ProductionBindings.cpp:77
static bool isStale(WorkQueueHandleRef reference) noexcept
Reports whether a queue reference is stale for the current module.
Definition ProductionBindings.cpp:102
~Production() override=default
Releases Production resources.
Module_REG(Production)
static eve::ResultRef< WorkQueue > resolve(WorkQueueHandleRef reference)
Resolves a generation-qualified work-queue identity.
Definition ProductionBindings.cpp:82
Generic multi-owner, multi-slot continuous-progress work queue.
Definition Production.h:200
eve::SimulationTick currentTick() const noexcept
Return the latest simulation tick applied to this queue.
Definition Production.h:265
WorkQueue & operator=(const WorkQueue &)=delete
WorkQueue(const WorkQueue &)=delete
Slot/generation registry whose objects are exclusively unique-owned.
Definition RuntimeRegistry.h:359
Definition QueueInspector.h:12
@ Completed
@ ReadyToSettle
@ Running
@ Cancelled
@ SettlementFailed
@ ShortestRemaining
std::string_view eventKindName(ProductionEventKind kind)
Returns the stable lowercase name of an event kind.
Definition Production.cpp:70
std::string_view taskStateName(TaskState state)
Returns the stable lowercase name of a task state.
Definition Production.cpp:56
std::ostream & operator<<(std::ostream &stream, TaskState state)
Writes the stable task-state spelling to a stream.
Definition Production.h:382
RefundPolicy
Reservation refund rule applied when work terminates before settlement.
Definition Production.h:74
@ Proportional
std::optional< std::reference_wrapper< T > > OptionalRef
Optional borrowed reference; it does not extend T's lifetime.
Definition BorrowedRef.h:24
std::function< Result< ContentId >(std::string_view canonicalInput)> SnapshotHashProvider
Injected content-digest implementation used by snapshots.
Definition Snapshot.h:36
Stable outer format shared by persistence and cross-process snapshots.
Definition Snapshot.h:46
A generation-qualified reference to one definition incarnation.
Definition DefinitionRuntime.h:69
Replayable provenance for domain-owned random output draws.
Definition Production.h:90
Stable task-to-task constraints for a small production DAG.
Definition Production.h:59
std::vector< std::string > prerequisites
Definition Production.h:61
std::vector< std::string > blocks
Definition Production.h:62
std::vector< std::string > requiredTags
Definition Production.h:64
std::vector< eve::definition::DefinitionHandle > requiredDefinitions
Definition Production.h:63
Structured task diagnostic carrying stable correlation identity.
Definition Production.h:115
std::string correlationId
Definition Production.h:116
Deterministically sequenced production lifecycle event.
Definition Production.h:189
Side-effect-free estimate under an unchanged queue configuration.
Definition Production.h:106
eve::Duration estimatedCompletionAfter
Definition Production.h:110
eve::Duration estimatedStartAfter
Definition Production.h:109
std::string blockReason
Definition Production.h:107
eve::Duration ownWorkRemaining
Definition Production.h:108
Repetition and externally reported maintain-stock contract.
Definition Production.h:98
std::uint32_t totalCycles
Definition Production.h:99
int maintainStockTarget
Definition Production.h:101
Validated input used to create a domain-neutral production task.
Definition Production.h:137
std::uint32_t efficiencyPermille
Definition Production.h:153
ProductionTerminationPolicy termination
Definition Production.h:148
ProductionDependencies dependencies
Definition Production.h:146
std::vector< ProductionResourceRequirement > resources
Definition Production.h:147
eve::definition::DefinitionHandle definition
Definition Production.h:144
bool settlementRequired
Definition Production.h:154
std::string correlationId
Definition Production.h:151
Idempotent release evidence used by a domain adapter to perform rollback/refund.
Definition Production.h:80
std::uint32_t refundPermille
Definition Production.h:83
std::string releaseId
Definition Production.h:81
eve::Value reservation
Definition Production.h:82
Named capacity consumed while a task is running.
Definition Production.h:68
std::string resource
Definition Production.h:69
Owning proof that a domain consumer published one task exactly once.
Definition Production.h:46
std::string settlementId
Definition Production.h:47
A subject-agnostic continuous task retained for audit and save games.
Definition Production.h:158
ReservationState reservationState
Definition Production.h:169
std::uint32_t completedCycles
Definition Production.h:179
eve::definition::DefinitionHandle definition
Definition Production.h:167
ProductionDependencies dependencies
Definition Production.h:173
std::uint32_t refundPermille
Definition Production.h:184
ProductionTerminationPolicy termination
Definition Production.h:175
std::vector< ProductionResourceRequirement > resources
Definition Production.h:174
std::uint32_t efficiencyPermille
Definition Production.h:181
bool settlementRequired
Definition Production.h:185
std::uint32_t workRemainderPermille
Unapplied fixed-point work numerator in thousandths of one nanosecond.
Definition Production.h:183
std::string lastSettlementId
Definition Production.h:172
ProductionSettlementReceipt settlement
Definition Production.h:171
ProductionReservationRelease reservationRelease
Definition Production.h:170
Explicit cancellation and failure refund contract.
Definition Production.h:124
RefundPolicy cancellation
Definition Production.h:125
RefundPolicy failure
Definition Production.h:126
Deterministic externally supplied work contribution.
Definition Production.h:130
std::uint32_t efficiencyPermille
Definition Production.h:133
Handle domain for a module-owned continuous-progress work queue.
Definition Production.h:25
Sequence and explanation shared by queue lifecycle events.
Definition Scheduling.h:21
Identity, priority and terminal explanation shared by scheduled items.
Definition Scheduling.h:14
Handle plus owner-lifetime epoch for a non-ECS registry object.
Definition RuntimeRegistry.h:91