Nix 2.26.3
Nix, the purely functional package manager; unstable internal interfaces
 
Loading...
Searching...
No Matches
nix::UDSRemoteStore Class Reference
Inheritance diagram for nix::UDSRemoteStore:
nix::UDSRemoteStoreConfig nix::IndirectRootStore nix::RemoteStore nix::LocalFSStoreConfig nix::RemoteStoreConfig nix::LocalFSStore nix::RemoteStoreConfig nix::Store nix::GcStore nix::LogStore nix::Store nix::Store nix::StoreConfig nix::StoreConfig nix::LogStore nix::GcStore nix::Store nix::LocalFSStoreConfig nix::StoreConfig nix::StoreConfig

Public Member Functions

 UDSRemoteStore (const Params &params)
 
 UDSRemoteStore (std::string_view scheme, std::string_view authority, const Params &params)
 
std::string getUri () override
 
ref< SourceAccessorgetFSAccessor (bool requireValidPath=true) override
 
void narFromPath (const StorePath &path, Sink &sink) override
 
void addIndirectRoot (const Path &path) override
 
- Public Member Functions inherited from nix::UDSRemoteStoreConfig
 UDSRemoteStoreConfig (std::string_view scheme, std::string_view authority, const Params &params)
 
const std::string name () override
 
std::string doc () override
 
 LocalFSStoreConfig (PathView path, const Params &params)
 
- Public Member Functions inherited from nix::LocalFSStoreConfig
 LocalFSStoreConfig (PathView path, const Params &params)
 
 StoreConfig ()=delete
 
- Public Member Functions inherited from nix::StoreConfig
virtual std::optional< ExperimentalFeatureexperimentalFeature () const
 
 StoreDirConfig ()=delete
 
- Public Member Functions inherited from nix::StoreDirConfig
StorePath parseStorePath (std::string_view path) const
 
std::optional< StorePathmaybeParseStorePath (std::string_view path) const
 
std::string printStorePath (const StorePath &path) const
 
StorePathSet parseStorePathSet (const PathSet &paths) const
 
PathSet printStorePathSet (const StorePathSet &path) const
 
std::string showPaths (const StorePathSet &paths)
 
bool isInStore (PathView path) const
 
bool isStorePath (std::string_view path) const
 
std::pair< StorePath, PathtoStorePath (PathView path) const
 
StorePath makeStorePath (std::string_view type, std::string_view hash, std::string_view name) const
 
StorePath makeStorePath (std::string_view type, const Hash &hash, std::string_view name) const
 
StorePath makeOutputPath (std::string_view id, const Hash &hash, std::string_view name) const
 
StorePath makeFixedOutputPath (std::string_view name, const FixedOutputInfo &info) const
 
StorePath makeFixedOutputPathFromCA (std::string_view name, const ContentAddressWithReferences &ca) const
 
std::pair< StorePath, HashcomputeStorePath (std::string_view name, const SourcePath &path, ContentAddressMethod method=FileIngestionMethod::NixArchive, HashAlgorithm hashAlgo=HashAlgorithm::SHA256, const StorePathSet &references={}, PathFilter &filter=defaultPathFilter) const
 
 Config (StringMap initials={})
 
- Public Member Functions inherited from nix::Config
 Config (StringMap initials={})
 
bool set (const std::string &name, const std::string &value) override
 
void addSetting (AbstractSetting *setting)
 
void getSettings (std::map< std::string, SettingInfo > &res, bool overriddenOnly=false) override
 
void resetOverridden () override
 
nlohmann::json toJSON () override
 
std::string toKeyValue () override
 
void convertToArgs (Args &args, const std::string &category) override
 
- Public Member Functions inherited from nix::AbstractConfig
void applyConfig (const std::string &contents, const std::string &path="<unknown>")
 
void warnUnknownSettings ()
 
void reapplyUnknownSettings ()
 
- Public Member Functions inherited from nix::RemoteStoreConfig
 StoreConfig ()=delete
 
- Public Member Functions inherited from nix::IndirectRootStore
Path addPermRoot (const StorePath &storePath, const Path &gcRoot) override final
 
- Public Member Functions inherited from nix::LocalFSStore
 LocalFSStore (const Params &params)
 
virtual Path getRealStoreDir ()
 
Path toRealPath (const Path &storePath) override
 
std::optional< std::string > getBuildLogExact (const StorePath &path) override
 
- Public Member Functions inherited from nix::Store
virtual void init ()
 
Path followLinksToStore (std::string_view path) const
 
StorePath followLinksToStorePath (std::string_view path) const
 
bool isValidPath (const StorePath &path)
 
void substitutePaths (const StorePathSet &paths)
 
ref< const ValidPathInfoqueryPathInfo (const StorePath &path)
 
void queryPathInfo (const StorePath &path, Callback< ref< const ValidPathInfo > > callback) noexcept
 
std::optional< std::shared_ptr< const ValidPathInfo > > queryPathInfoFromClientCache (const StorePath &path)
 
std::shared_ptr< const RealisationqueryRealisation (const DrvOutput &)
 
void queryRealisation (const DrvOutput &, Callback< std::shared_ptr< const Realisation > > callback) noexcept
 
virtual bool pathInfoIsUntrusted (const ValidPathInfo &)
 
virtual bool realisationIsUntrusted (const Realisation &)
 
virtual std::map< std::string, std::optional< StorePath > > queryStaticPartialDerivationOutputMap (const StorePath &path)
 
OutputPathMap queryDerivationOutputMap (const StorePath &path, Store *evalStore=nullptr)
 
virtual StorePath addToStore (std::string_view name, const SourcePath &path, ContentAddressMethod method=ContentAddressMethod::Raw::NixArchive, HashAlgorithm hashAlgo=HashAlgorithm::SHA256, const StorePathSet &references=StorePathSet(), PathFilter &filter=defaultPathFilter, RepairFlag repair=NoRepair)
 
ValidPathInfo addToStoreSlow (std::string_view name, const SourcePath &path, ContentAddressMethod method=ContentAddressMethod::Raw::NixArchive, HashAlgorithm hashAlgo=HashAlgorithm::SHA256, const StorePathSet &references=StorePathSet(), std::optional< Hash > expectedCAHash={})
 
virtual void registerDrvOutput (const Realisation &output, CheckSigsFlag checkSigs)
 
std::string makeValidityRegistration (const StorePathSet &paths, bool showDerivers, bool showHash)
 
Derivation derivationFromPath (const StorePath &drvPath)
 
Derivation readDerivation (const StorePath &drvPath)
 
Derivation readInvalidDerivation (const StorePath &drvPath)
 
virtual void computeFSClosure (const StorePathSet &paths, StorePathSet &out, bool flipDirection=false, bool includeOutputs=false, bool includeDerivers=false)
 
void computeFSClosure (const StorePath &path, StorePathSet &out, bool flipDirection=false, bool includeOutputs=false, bool includeDerivers=false)
 
StorePaths topoSortPaths (const StorePathSet &paths)
 
void exportPaths (const StorePathSet &paths, Sink &sink)
 
void exportPath (const StorePath &path, Sink &sink)
 
StorePaths importPaths (Source &source, CheckSigsFlag checkSigs=CheckSigs)
 
const StatsgetStats ()
 
StorePathSet exportReferences (const StorePathSet &storePaths, const StorePathSet &inputPaths)
 
std::optional< StorePathgetBuildDerivationPath (const StorePath &)
 
void clearPathInfoCache ()
 
Path toRealPath (const StorePath &storePath)
 
- Public Member Functions inherited from nix::LogStore
std::optional< std::string > getBuildLog (const StorePath &path)
 
- Public Member Functions inherited from nix::RemoteStore
 RemoteStore (const Params &params)
 
bool isValidPathUncached (const StorePath &path) override
 
StorePathSet queryValidPaths (const StorePathSet &paths, SubstituteFlag maybeSubstitute=NoSubstitute) override
 
StorePathSet queryAllValidPaths () override
 
void queryPathInfoUncached (const StorePath &path, Callback< std::shared_ptr< const ValidPathInfo > > callback) noexcept override
 
void queryReferrers (const StorePath &path, StorePathSet &referrers) override
 
StorePathSet queryValidDerivers (const StorePath &path) override
 
StorePathSet queryDerivationOutputs (const StorePath &path) override
 
std::map< std::string, std::optional< StorePath > > queryPartialDerivationOutputMap (const StorePath &path, Store *evalStore=nullptr) override
 
std::optional< StorePathqueryPathFromHashPart (const std::string &hashPart) override
 
StorePathSet querySubstitutablePaths (const StorePathSet &paths) override
 
void querySubstitutablePathInfos (const StorePathCAMap &paths, SubstitutablePathInfos &infos) override
 
ref< const ValidPathInfoaddCAToStore (Source &dump, std::string_view name, ContentAddressMethod caMethod, HashAlgorithm hashAlgo, const StorePathSet &references, RepairFlag repair)
 
StorePath addToStoreFromDump (Source &dump, std::string_view name, FileSerialisationMethod dumpMethod=FileSerialisationMethod::NixArchive, ContentAddressMethod hashMethod=FileIngestionMethod::NixArchive, HashAlgorithm hashAlgo=HashAlgorithm::SHA256, const StorePathSet &references=StorePathSet(), RepairFlag repair=NoRepair) override
 
void addToStore (const ValidPathInfo &info, Source &nar, RepairFlag repair, CheckSigsFlag checkSigs) override
 
void addMultipleToStore (Source &source, RepairFlag repair, CheckSigsFlag checkSigs) override
 
void addMultipleToStore (PathsSource &&pathsToCopy, Activity &act, RepairFlag repair, CheckSigsFlag checkSigs) override
 
void registerDrvOutput (const Realisation &info) override
 
void queryRealisationUncached (const DrvOutput &, Callback< std::shared_ptr< const Realisation > > callback) noexcept override
 
void buildPaths (const std::vector< DerivedPath > &paths, BuildMode buildMode, std::shared_ptr< Store > evalStore) override
 
std::vector< KeyedBuildResultbuildPathsWithResults (const std::vector< DerivedPath > &paths, BuildMode buildMode, std::shared_ptr< Store > evalStore) override
 
BuildResult buildDerivation (const StorePath &drvPath, const BasicDerivation &drv, BuildMode buildMode) override
 
void ensurePath (const StorePath &path) override
 
void addTempRoot (const StorePath &path) override
 
Roots findRoots (bool censor) override
 
void collectGarbage (const GCOptions &options, GCResults &results) override
 
void optimiseStore () override
 
bool verifyStore (bool checkContents, RepairFlag repair) override
 
void repairPath (const StorePath &path) override
 
void addSignatures (const StorePath &storePath, const StringSet &sigs) override
 
void queryMissing (const std::vector< DerivedPath > &targets, StorePathSet &willBuild, StorePathSet &willSubstitute, StorePathSet &unknown, uint64_t &downloadSize, uint64_t &narSize) override
 
void addBuildLog (const StorePath &drvPath, std::string_view log) override
 
std::optional< std::string > getVersion () override
 
void connect () override
 
unsigned int getProtocol () override
 
std::optional< TrustedFlag > isTrustedClient () override
 
void flushBadConnections ()
 
ref< ConnectionopenConnectionWrapper ()
 

Additional Inherited Members

- Public Types inherited from nix::StoreConfig
using Params = StoreReference::Params
 
- Public Types inherited from nix::Config
using Settings = std::map<std::string, SettingData>
 
- Public Types inherited from nix::Store
using PathsSource = std::vector<std::pair<ValidPathInfo, std::unique_ptr<Source>>>
 
- Static Public Member Functions inherited from nix::UDSRemoteStoreConfig
static std::set< std::string > uriSchemes ()
 
- Static Public Member Functions inherited from nix::StoreConfig
static StringSet getDefaultSystemFeatures ()
 
- Static Public Member Functions inherited from nix::LogStore
static LogStorerequire (Store &store)
 
- Public Attributes inherited from nix::UDSRemoteStoreConfig
Path path
 
- Public Attributes inherited from nix::LocalFSStoreConfig
const OptionalPathSetting rootDir
 
const PathSetting stateDir
 
const PathSetting logDir
 
const PathSetting realStoreDir
 
- Public Attributes inherited from nix::StoreConfig
const Setting< intpathInfoCacheSize
 
const Setting< bool > isTrusted
 
Setting< intpriority
 
Setting< bool > wantMassQuery
 
Setting< StringSet > systemFeatures
 
- Public Attributes inherited from nix::StoreDirConfig
const PathSetting storeDir_
 
const Path storeDir = storeDir_
 
- Public Attributes inherited from nix::RemoteStoreConfig
const Setting< intmaxConnections
 
const Setting< unsigned intmaxConnectionAge
 
- Static Public Attributes inherited from nix::IndirectRootStore
static std::string operationName = "Indirect GC roots registration"
 
- Static Public Attributes inherited from nix::LocalFSStore
static std::string operationName = "Local Filesystem Store"
 
static const std::string drvsLogDir = "drvs"
 
- Static Public Attributes inherited from nix::Store
static constexpr const charMissingName = "x"
 
- Static Public Attributes inherited from nix::GcStore
static std::string operationName = "Garbage collection"
 
- Static Public Attributes inherited from nix::LogStore
static std::string operationName = "Build log storage and retrieval"
 
- Protected Member Functions inherited from nix::AbstractConfig
 AbstractConfig (StringMap initials={})
 
- Protected Member Functions inherited from nix::IndirectRootStore
void makeSymlink (const Path &link, const Path &target)
 
- Protected Member Functions inherited from nix::Store
 Store (const Params &params)
 
void unsupported (const std::string &op)
 
- Protected Member Functions inherited from nix::RemoteStore
void initConnection (Connection &conn)
 
virtual void setOptions (Connection &conn)
 
void setOptions () override
 
ConnectionHandle getConnection ()
 
- Protected Attributes inherited from nix::AbstractConfig
StringMap unknownSettings
 
- Protected Attributes inherited from nix::Store
SharedSync< Statestate
 
std::shared_ptr< NarInfoDiskCachediskCache
 
Stats stats
 
- Protected Attributes inherited from nix::RemoteStore
ref< Pool< Connection > > connections
 
- Static Protected Attributes inherited from nix::UDSRemoteStoreConfig
static constexpr char const * scheme = "unix"
 

Constructor & Destructor Documentation

◆ UDSRemoteStore() [1/2]

nix::UDSRemoteStore::UDSRemoteStore ( const Params & params)
Deprecated
This is the old API to construct the store.

◆ UDSRemoteStore() [2/2]

nix::UDSRemoteStore::UDSRemoteStore ( std::string_view scheme,
std::string_view authority,
const Params & params )
Parameters
authorityis the socket path.

Member Function Documentation

◆ addIndirectRoot()

void nix::UDSRemoteStore::addIndirectRoot ( const Path & path)
overridevirtual

Implementation of IndirectRootStore::addIndirectRoot() which delegates to the remote store.

The idea is that the client makes the direct symlink, so it is owned managed by the client's user account, and the server makes the indirect symlink.

Implements nix::IndirectRootStore.

◆ getFSAccessor()

ref< SourceAccessor > nix::UDSRemoteStore::getFSAccessor ( bool requireValidPath = true)
inlineoverridevirtual
Returns
An object to access files in the Nix store.

Reimplemented from nix::LocalFSStore.

◆ getUri()

std::string nix::UDSRemoteStore::getUri ( )
overridevirtual
Todo
move to StoreConfig one we store enough information in those to recover the scheme and authority in all cases.

Implements nix::Store.

◆ narFromPath()

void nix::UDSRemoteStore::narFromPath ( const StorePath & path,
Sink & sink )
inlineoverridevirtual

Write a NAR dump of a store path.

Reimplemented from nix::LocalFSStore.


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