Nix 2.26.3
Nix, the purely functional package manager; unstable internal interfaces
 
Loading...
Searching...
No Matches
drv-output-substitution-goal.hh
Go to the documentation of this file.
1#pragma once
3
4#include <thread>
5#include <future>
6
7#include "store-api.hh"
8#include "goal.hh"
9#include "realisation.hh"
10#include "muxable-pipe.hh"
11
12namespace nix {
13
14class Worker;
15
23class DrvOutputSubstitutionGoal : public Goal {
24
28 DrvOutput id;
29
30public:
31 DrvOutputSubstitutionGoal(const DrvOutput& id, Worker & worker, RepairFlag repair = NoRepair, std::optional<ContentAddress> ca = std::nullopt);
32
33 typedef void (DrvOutputSubstitutionGoal::*GoalState)();
34 GoalState state;
35
36 Co init() override;
37 Co realisationFetched(std::shared_ptr<const Realisation> outputInfo, nix::ref<nix::Store> sub);
38
39 void timedOut(Error && ex) override { unreachable(); };
40
41 std::string key() override;
42
43 void handleEOF(Descriptor fd) override;
44
45 JobCategory jobCategory() const override {
47 };
48};
49
50}
JobCategory jobCategory() const override
Hint for the scheduler, which concurrency limit applies.
Definition drv-output-substitution-goal.hh:45
Co init() override
Definition drv-output-substitution-goal.cc:22
void timedOut(Error &&ex) override
Definition drv-output-substitution-goal.hh:39
Definition worker.hh:65
Definition ref.hh:15
int Descriptor
Definition file-descriptor.hh:20
JobCategory
Definition goal.hh:44
@ Substitution
Definition goal.hh:52
const T::key_type & key
Definition lexer.l:2763
RepairFlag repair
Definition lexer.l:7173
return fd
Definition lexer.l:2948
Definition realisation.hh:24
Definition goal.hh:182
std::optional< Error > ex
Definition goal.hh:379
Worker & worker
Definition goal.hh:62