Nix  2.93.0-dev
Lix: A modern, delicious implementation of the Nix package manager; unstable internal interfaces
Loading...
Searching...
No Matches
nix::PathSubstitutionGoal Struct Reference
Inheritance diagram for nix::PathSubstitutionGoal:
[legend]
Collaboration diagram for nix::PathSubstitutionGoal:
[legend]

Public Member Functions

WorkResult done (ExitCode result, BuildResult::Status status, std::optional< std::string > errorMsg={})
 
 PathSubstitutionGoal (const StorePath &storePath, Worker &worker, bool isDependency, RepairFlag repair=NoRepair, std::optional< ContentAddress > ca=std::nullopt)
 
kj::Promise< Result< WorkResult > > workImpl () noexcept override
 
kj::Promise< Result< WorkResult > > tryNext () noexcept
 
kj::Promise< Result< WorkResult > > referencesValid () noexcept
 
kj::Promise< Result< WorkResult > > tryToRun () noexcept
 
kj::Promise< Result< WorkResult > > finished () noexcept
 
void cleanup () override final
 
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
 

Public Attributes

StorePath storePath
 
std::optional< StorePathsubPath
 
std::list< ref< Store > > subs
 
std::shared_ptr< Storesub
 
bool substituterFailed = false
 
std::shared_ptr< const ValidPathInfoinfo
 
kj::Own< kj::CrossThreadPromiseFulfiller< void > > outPipe
 
std::future< void > thr
 
RepairFlag repair
 
Path destPath
 
NotifyingCounter< uint64_t >::Bump maintainExpectedSubstitutions
 
NotifyingCounter< uint64_t >::Bump maintainRunningSubstitutions
 
NotifyingCounter< uint64_t >::Bump maintainExpectedNar
 
NotifyingCounter< uint64_t >::Bump maintainExpectedDownload
 
std::optional< ContentAddressca
 
- 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
 

Additional Inherited Members

- Public Types inherited from nix::Goal
enum  ExitCode { ecSuccess , ecFailed , ecNoSubstituters , ecIncompleteClosure }
 
- 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
 

Member Function Documentation

◆ cleanup()

void nix::PathSubstitutionGoal::cleanup ( )
finaloverridevirtual

Reimplemented from nix::Goal.

◆ jobCategory()

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

Hint for the scheduler, which concurrency limit applies.

See also
JobCategory

Implements nix::Goal.

◆ tryNext()

kj::Promise< Result< Goal::WorkResult > > nix::PathSubstitutionGoal::tryNext ( )
noexcept

The states.

◆ workImpl()

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

Implements nix::Goal.

Member Data Documentation

◆ ca

std::optional<ContentAddress> nix::PathSubstitutionGoal::ca

Content address for recomputing store path

◆ destPath

Path nix::PathSubstitutionGoal::destPath

Location where we're downloading the substitute. Differs from storePath when doing a repair.

◆ info

std::shared_ptr<const ValidPathInfo> nix::PathSubstitutionGoal::info

Path info returned by the substituter's query info operation.

◆ outPipe

kj::Own<kj::CrossThreadPromiseFulfiller<void> > nix::PathSubstitutionGoal::outPipe

Pipe for the substituter's standard output.

◆ repair

RepairFlag nix::PathSubstitutionGoal::repair

Whether to try to repair a valid path.

◆ storePath

StorePath nix::PathSubstitutionGoal::storePath

The store path that should be realised through a substitute.

◆ sub

std::shared_ptr<Store> nix::PathSubstitutionGoal::sub

The current substituter.

◆ subPath

std::optional<StorePath> nix::PathSubstitutionGoal::subPath

The path the substituter refers to the path as. This will be different when the stores have different names.

◆ subs

std::list<ref<Store> > nix::PathSubstitutionGoal::subs

The remaining substituters.

◆ substituterFailed

bool nix::PathSubstitutionGoal::substituterFailed = false

Whether a substituter failed.

◆ thr

std::future<void> nix::PathSubstitutionGoal::thr

The substituter thread.


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