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

#include <serve-protocol.hh>

Classes

struct  ReadConn
struct  WriteConn
struct  Serialise
struct  Serialise< BuildResult >
struct  Serialise< UnkeyedValidPathInfo >
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  Command : uint64_t {
  QueryValidPaths = 1 , QueryPathInfos = 2 , DumpStorePath = 3 , ImportPaths = 4 ,
  ExportPaths = 5 , BuildPaths = 6 , QueryClosure = 7 , BuildDerivation = 8 ,
  AddToStoreNar = 9
}
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 "serve protocol", used by ssh:// 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::ServeProto::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::ServeProto::write ( const Store & store,
WriteConn conn,
const T & t )
inlinestaticnodiscard

Wrapper function around ServeProto::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: