10#include <source_location>
14struct PathSubstitutionGoal :
public Goal
36 std::unique_ptr<MaintainCount<uint64_t>> maintainExpectedSubstitutions,
37 maintainRunningSubstitutions, maintainExpectedNar, maintainExpectedDownload;
42 std::optional<ContentAddress>
ca;
47 std::optional<std::string> errorMsg = {});
59 std::string
key()
override
69 Co tryToRun(
StorePath subPath,
nix::ref<Store> sub, std::shared_ptr<const ValidPathInfo> info,
bool & substituterFailed);
79 void cleanup() override final;
int Descriptor
Definition file-descriptor.hh:20
JobCategory
Definition goal.hh:44
@ Substitution
Definition goal.hh:52
std::variant< std::string, std::string_view > data
Definition lexer.l:177
RepairFlag repair
Definition lexer.l:7173
unsigned int status
Definition lexer.l:663
return fd
Definition lexer.l:2948
Pipe MuxablePipe
Definition muxable-pipe.hh:26
Status
Definition build-result.hh:21
std::optional< Error > ex
Definition goal.hh:379
Worker & worker
Definition goal.hh:62
Definition substitution-goal.hh:15
std::string key() override
Definition substitution-goal.hh:59
Co init() override
Definition substitution-goal.cc:42
MuxablePipe outPipe
Definition substitution-goal.hh:29
std::thread thr
Definition substitution-goal.hh:34
RepairFlag repair
Definition substitution-goal.hh:24
void timedOut(Error &&ex) override
Definition substitution-goal.hh:53
std::optional< ContentAddress > ca
Definition substitution-goal.hh:42
void handleChildOutput(Descriptor fd, std::string_view data) override
Definition substitution-goal.hh:75
JobCategory jobCategory() const override
Hint for the scheduler, which concurrency limit applies.
Definition substitution-goal.hh:81
StorePath storePath
Definition substitution-goal.hh:19