Nix 2.93.3
Lix: A modern, delicious implementation of the Nix package manager; unstable internal interfaces
Loading...
Searching...
No Matches
goal.hh File Reference
#include "lix/libutil/async-semaphore.hh"
#include "lix/libutil/result.hh"
#include "lix/libutil/types.hh"
#include "lix/libstore/store-api.hh"
#include "lix/libstore/build-result.hh"
#include <concepts>
#include <kj/async.h>

Go to the source code of this file.

Classes

struct  nix::Goal
struct  nix::Goal::WorkResult

Typedefs

typedef std::shared_ptr< Goalnix::GoalPtr
typedef std::set< GoalPtrnix::Goals

Enumerations

enum struct  nix::JobCategory { Build , Substitution }

Typedef Documentation

◆ GoalPtr

typedef std::shared_ptr<Goal> nix::GoalPtr

A pointer to a goal.

◆ Goals

typedef std::set<GoalPtr> nix::Goals

Set of goals.

Enumeration Type Documentation

◆ JobCategory

enum struct nix::JobCategory
strong

Used as a hint to the worker on how to schedule a particular goal. For example, builds are typically CPU- and memory-bound, while substitutions are I/O bound. Using this information, the worker might decide to schedule more or fewer goals of each category in parallel.

Enumerator
Build 

A build of a derivation; it will use CPU and disk resources.

Substitution 

A substitution an arbitrary store object; it will use network resources.