13struct PathSubstitutionGoal :
public Goal
29 std::list<ref<Store>>
subs;
34 std::shared_ptr<Store>
sub;
44 std::shared_ptr<const ValidPathInfo>
info;
49 kj::Own<kj::CrossThreadPromiseFulfiller<void>>
outPipe;
54 std::future<void>
thr;
68 maintainRunningSubstitutions, maintainExpectedNar, maintainExpectedDownload;
73 std::optional<ContentAddress>
ca;
78 std::optional<std::string> errorMsg = {});
85 RepairFlag
repair = NoRepair,
86 std::optional<ContentAddress>
ca = std::nullopt
90 kj::Promise<Result<WorkResult>> workImpl() noexcept override;
95 kj::Promise<Result<WorkResult>>
tryNext() noexcept;
96 kj::Promise<Result<WorkResult>> referencesValid() noexcept;
97 kj::Promise<Result<WorkResult>> tryToRun() noexcept;
98 kj::Promise<Result<WorkResult>> finished() noexcept;
101 void cleanup() override final;
Definition notifying-counter.hh:19
JobCategory
Definition goal.hh:36
@ Substitution
Definition goal.hh:44
Status
Definition build-result.hh:24
const bool isDependency
Definition goal.hh:61
Worker & worker
Definition goal.hh:54
Definition substitution-goal.hh:14
std::shared_ptr< Store > sub
Definition substitution-goal.hh:34
std::shared_ptr< const ValidPathInfo > info
Definition substitution-goal.hh:44
std::optional< StorePath > subPath
Definition substitution-goal.hh:24
std::list< ref< Store > > subs
Definition substitution-goal.hh:29
std::future< void > thr
Definition substitution-goal.hh:54
kj::Own< kj::CrossThreadPromiseFulfiller< void > > outPipe
Definition substitution-goal.hh:49
RepairFlag repair
Definition substitution-goal.hh:59
Path destPath
Definition substitution-goal.hh:65
std::optional< ContentAddress > ca
Definition substitution-goal.hh:73
bool substituterFailed
Definition substitution-goal.hh:39
JobCategory jobCategory() const override
Hint for the scheduler, which concurrency limit applies.
Definition substitution-goal.hh:103
kj::Promise< Result< WorkResult > > tryNext() noexcept
Definition substitution-goal.cc:75
StorePath storePath
Definition substitution-goal.hh:18
std::string Path
Definition types.hh:28