Nix 2.26.3
Nix, the purely functional package manager; unstable internal interfaces
 
Loading...
Searching...
No Matches
goal.hh File Reference
#include "store-api.hh"
#include "build-result.hh"
#include <coroutine>

Go to the source code of this file.

Classes

struct  nix::CompareGoalPtrs
 
struct  nix::Goal
 
struct  nix::Goal::Suspend
 
struct  nix::Goal::Return
 
struct  nix::Goal::Done
 
struct  nix::Goal::Co
 
struct  nix::Goal::InitialSuspend
 
struct  nix::Goal::promise_type
 
struct  nix::Goal::promise_type::final_awaiter
 
struct  std::coroutine_traits< nix::Goal::Co, ArgTypes... >
 

Typedefs

typedef std::shared_ptr< Goalnix::GoalPtr
 
typedef std::weak_ptr< Goalnix::WeakGoalPtr
 
typedef std::set< GoalPtr, CompareGoalPtrsnix::Goals
 
typedef std::set< WeakGoalPtr, std::owner_less< WeakGoalPtr > > nix::WeakGoals
 
typedef std::map< StorePath, WeakGoalPtr > nix::WeakGoalMap
 

Enumerations

enum struct  nix::JobCategory { Build , Substitution }
 

Functions

void nix::addToWeakGoals (WeakGoals &goals, GoalPtr p)
 

Typedef Documentation

◆ GoalPtr

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

A pointer to a goal.

◆ Goals

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

Set of goals.

◆ WeakGoalMap

typedef std::map<StorePath, WeakGoalPtr> nix::WeakGoalMap

A map of paths to goals (and the other way around).

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.