Nix 2.93.3
Lix: A modern, delicious implementation of the Nix package manager; unstable internal interfaces
Loading...
Searching...
No Matches
nix::WorkerProto Struct Reference

#include <worker-protocol.hh>

Classes

struct  ReadConn
struct  WriteConn
struct  Serialise
struct  Serialise< DerivedPath >
struct  Serialise< BuildResult >
struct  Serialise< KeyedBuildResult >
struct  Serialise< ValidPathInfo >
struct  Serialise< UnkeyedValidPathInfo >
struct  Serialise< std::optional< TrustedFlag > >
struct  Serialise< std::vector< T > >
struct  Serialise< std::set< T > >
struct  Serialise< std::tuple< Ts... > >
struct  Serialise< std::map< K COMMA_ V > >

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
}
using Version = unsigned int

Static Public Member Functions

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

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>
WireFormatGenerator nix::WorkerProto::write ( const Store & store,
WriteConn conn,
const T & t )
inlinestaticnodiscard

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 file: