Nix 2.26.3
Nix, the purely functional package manager; unstable internal interfaces
 
Loading...
Searching...
No Matches
nix::WorkerProto Struct Reference

#include <worker-protocol.hh>

Classes

struct  BasicClientConnection
 
struct  BasicConnection
 
struct  BasicServerConnection
 
struct  ClientHandshakeInfo
 
struct  ReadConn
 
struct  Serialise
 
struct  Serialise< BuildMode >
 
struct  Serialise< BuildResult >
 
struct  Serialise< DerivedPath >
 
struct  Serialise< KeyedBuildResult >
 
struct  Serialise< std::map< K COMMA_ V > >
 
struct  Serialise< std::optional< std::chrono::microseconds > >
 
struct  Serialise< std::optional< TrustedFlag > >
 
struct  Serialise< std::set< T > >
 
struct  Serialise< std::tuple< Ts... > >
 
struct  Serialise< std::vector< T > >
 
struct  Serialise< UnkeyedValidPathInfo >
 
struct  Serialise< ValidPathInfo >
 
struct  Serialise< WorkerProto::ClientHandshakeInfo >
 
struct  WriteConn
 

Public Types

enum struct  Op : uint64_t {
  IsValidPath = 1 , HasSubstitutes = 3 , QueryPathHash = 4 , QueryReferences = 5 ,
  QueryReferrers = 6 , AddToStore = 7 , AddTextToStore = 8 , BuildPaths = 9 ,
  EnsurePath = 10 , AddTempRoot = 11 , AddIndirectRoot = 12 , SyncWithGC = 13 ,
  FindRoots = 14 , ExportPath = 16 , QueryDeriver = 18 , SetOptions = 19 ,
  CollectGarbage = 20 , QuerySubstitutablePathInfo = 21 , QueryDerivationOutputs = 22 , QueryAllValidPaths = 23 ,
  QueryFailedPaths = 24 , ClearFailedPaths = 25 , QueryPathInfo = 26 , ImportPaths = 27 ,
  QueryDerivationOutputNames = 28 , QueryPathFromHashPart = 29 , QuerySubstitutablePathInfos = 30 , QueryValidPaths = 31 ,
  QuerySubstitutablePaths = 32 , QueryValidDerivers = 33 , OptimiseStore = 34 , VerifyStore = 35 ,
  BuildDerivation = 36 , AddSignatures = 37 , NarFromPath = 38 , AddToStoreNar = 39 ,
  QueryMissing = 40 , QueryDerivationOutputMap = 41 , RegisterDrvOutput = 42 , QueryRealisation = 43 ,
  AddMultipleToStore = 44 , AddBuildLog = 45 , BuildPathsWithResults = 46 , AddPermRoot = 47
}
 
using Version = unsigned int
 
using Feature = std::string
 

Static Public Member Functions

template<typename T>
static void write (const StoreDirConfig &store, WriteConn conn, const T &t)
 

Static Public Attributes

static const std::set< Feature > allFeatures {}
 

Detailed Description

The "worker protocol", used by unix:// and ssh-ng:// stores.

This struct is basically just a namespace; We use a type rather than a namespace just so we can use it as a template argument.

Member Typedef Documentation

◆ Version

using nix::WorkerProto::Version = unsigned int

Version type for the protocol.

Todo
Convert to struct with separate major vs minor fields.

Member Function Documentation

◆ write()

template<typename T>
static void nix::WorkerProto::write ( const StoreDirConfig & store,
WriteConn conn,
const T & t )
inlinestatic

Wrapper function around WorkerProto::Serialise<T>::write that allows us to infer the type instead of having to write it down explicitly.


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