Nix 2.93.3
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:
nix::WorkerBase nix::GoalFactory

Classes

struct  Results
struct  HookState

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
std::optional< PathbuildDirOverride
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)

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:
  • lix/libstore/build/worker.hh
  • lix/libstore/build/worker.cc