Nix  2.93.0-dev
Lix: A modern, delicious implementation of the Nix package manager; unstable internal interfaces
Loading...
Searching...
No Matches
nix::DrvOutputSubstitutionGoal Class Reference

#include <drv-output-substitution-goal.hh>

Inheritance diagram for nix::DrvOutputSubstitutionGoal:
[legend]
Collaboration diagram for nix::DrvOutputSubstitutionGoal:
[legend]

Public Member Functions

 DrvOutputSubstitutionGoal (const DrvOutput &id, Worker &worker, bool isDependency, RepairFlag repair=NoRepair, std::optional< ContentAddress > ca=std::nullopt)
 
kj::Promise< Result< WorkResult > > tryNext () noexcept
 
kj::Promise< Result< WorkResult > > realisationFetched () noexcept
 
kj::Promise< Result< WorkResult > > outPathValid () noexcept
 
kj::Promise< Result< WorkResult > > finished () noexcept
 
kj::Promise< Result< WorkResult > > workImpl () noexcept override
 
JobCategory jobCategory () const override
 Hint for the scheduler, which concurrency limit applies.
 
- Public Member Functions inherited from nix::Goal
 Goal (Worker &worker, bool isDependency)
 
kj::Promise< Result< WorkResult > > work () noexcept
 
virtual void waiteeDone (GoalPtr waitee)
 
void trace (std::string_view s)
 
std::string getName () const
 
virtual void cleanup ()
 

Additional Inherited Members

- Public Types inherited from nix::Goal
enum  ExitCode { ecSuccess , ecFailed , ecNoSubstituters , ecIncompleteClosure }
 
- Public Attributes inherited from nix::Goal
Workerworker
 
const bool isDependency
 
size_t nrFailed = 0
 
size_t nrNoSubstituters = 0
 
size_t nrIncompleteClosure = 0
 
std::string name
 
- Protected Member Functions inherited from nix::Goal
kj::Promise< void > waitForAWhile ()
 
kj::Promise< Result< void > > waitForGoals (kj::Array< std::pair< GoalPtr, kj::Promise< Result< WorkResult > > > > dependencies) noexcept
 
template<std::derived_from< Goal >... G>
kj::Promise< Result< void > > waitForGoals (std::pair< std::shared_ptr< G >, kj::Promise< Result< WorkResult > > >... goals) noexcept
 
- Protected Attributes inherited from nix::Goal
AsyncSemaphore::Token slotToken
 

Detailed Description

Substitution of a derivation output. This is done in three steps:

  1. Fetch the output info from a substituter
  2. Substitute the corresponding output path
  3. Register the output info

Member Function Documentation

◆ jobCategory()

JobCategory nix::DrvOutputSubstitutionGoal::jobCategory ( ) const
inlineoverridevirtual

Hint for the scheduler, which concurrency limit applies.

See also
JobCategory

Implements nix::Goal.

◆ workImpl()

kj::Promise< Result< Goal::WorkResult > > nix::DrvOutputSubstitutionGoal::workImpl ( )
overridevirtualnoexcept

Implements nix::Goal.


The documentation for this class was generated from the following files: