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

#include <worker.hh>

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

Classes

struct  HookState
 
struct  Results
 

Public Types

using Targets = std::vector<std::pair<GoalPtr, kj::Promise<Result<Goal::WorkResult>>>>
 

Public Member Functions

kj::Promise< Result< Results > > run (std::function< kj::Promise< Result< Targets > >(GoalFactory &)> req)
 
kj::Promise< Result< Results > > run (std::function< Targets(GoalFactory &)> req)
 
kj::Promise< Result< bool > > pathContentsGood (const StorePath &path)
 
void markContentsGood (const StorePath &path)
 

Public Attributes

const Activity act
 
const Activity actDerivations
 
const Activity actSubstitutions
 
Storestore
 
StoreevalStore
 
AsyncSemaphore substitutions
 
AsyncSemaphore localBuilds
 
HookState hook
 
NotifyingCounter< uint64_t > expectedBuilds {[this] { updateStatisticsLater(); }}
 
NotifyingCounter< uint64_t > doneBuilds {[this] { updateStatisticsLater(); }}
 
NotifyingCounter< uint64_t > failedBuilds {[this] { updateStatisticsLater(); }}
 
NotifyingCounter< uint64_t > runningBuilds {[this] { updateStatisticsLater(); }}
 
NotifyingCounter< uint64_t > expectedSubstitutions {[this] { updateStatisticsLater(); }}
 
NotifyingCounter< uint64_t > doneSubstitutions {[this] { updateStatisticsLater(); }}
 
NotifyingCounter< uint64_t > failedSubstitutions {[this] { updateStatisticsLater(); }}
 
NotifyingCounter< uint64_t > runningSubstitutions {[this] { updateStatisticsLater(); }}
 
NotifyingCounter< uint64_t > expectedDownloadSize {[this] { updateStatisticsLater(); }}
 
NotifyingCounter< uint64_t > doneDownloadSize {[this] { updateStatisticsLater(); }}
 
NotifyingCounter< uint64_t > expectedNarSize {[this] { updateStatisticsLater(); }}
 
NotifyingCounter< uint64_t > doneNarSize {[this] { updateStatisticsLater(); }}
 

Friends

template<typename MkGoals >
kj::Promise< Result< Results > > processGoals (Store &store, Store &evalStore, MkGoals &&mkGoals) noexcept
 

Additional Inherited Members

- Protected Member Functions inherited from nix::WorkerBase
GoalFactorygoalFactory ()
 

Detailed Description

The worker class.

Member Function Documentation

◆ pathContentsGood()

kj::Promise< Result< bool > > nix::Worker::pathContentsGood ( const StorePath & path)

Check whether the given valid path exists and has the right contents.

◆ run()

kj::Promise< Result< Results > > nix::Worker::run ( std::function< kj::Promise< Result< Targets > >(GoalFactory &)> req)
inline

Loop until the specified top-level goals have finished.


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