Nix 2.26.3
Nix, the purely functional package manager; unstable internal interfaces
 
Loading...
Searching...
No Matches
uds-remote-store.hh
Go to the documentation of this file.
1#pragma once
3
4#include "remote-store.hh"
7
8namespace nix {
9
11{
12 // TODO(fzakaria): Delete this constructor once moved over to the factory pattern
13 // outlined in https://github.com/NixOS/nix/issues/10766
15 using RemoteStoreConfig::RemoteStoreConfig;
16
21 std::string_view scheme,
22 std::string_view authority,
23 const Params & params);
24
25 const std::string name() override { return "Local Daemon Store"; }
26
27 std::string doc() override;
28
36
37protected:
38 static constexpr char const * scheme = "unix";
39
40public:
41 static std::set<std::string> uriSchemes()
42 { return {scheme}; }
43};
44
46 , public virtual IndirectRootStore
47 , public virtual RemoteStore
48{
49public:
50
54 UDSRemoteStore(const Params & params);
55
60 std::string_view scheme,
61 std::string_view authority,
62 const Params & params);
63
64 std::string getUri() override;
65
66 ref<SourceAccessor> getFSAccessor(bool requireValidPath = true) override
67 { return LocalFSStore::getFSAccessor(requireValidPath); }
68
69 void narFromPath(const StorePath & path, Sink & sink) override
71
80 void addIndirectRoot(const Path & path) override;
81
82private:
83
84 struct Connection : RemoteStore::Connection
85 {
87 void closeWrite() override;
88 };
89
90 ref<RemoteStore::Connection> openConnection() override;
91};
92
93}
Definition file-descriptor.hh:152
void narFromPath(const StorePath &path, Sink &sink) override
Definition local-fs-store.cc:83
ref< SourceAccessor > getFSAccessor(bool requireValidPath=true) override
Definition local-fs-store.cc:76
Definition path.hh:27
void narFromPath(const StorePath &path, Sink &sink) override
Definition uds-remote-store.hh:69
void addIndirectRoot(const Path &path) override
Definition uds-remote-store.cc:100
std::string getUri() override
Definition uds-remote-store.cc:64
UDSRemoteStore(const Params &params)
Definition uds-remote-store.cc:47
ref< SourceAccessor > getFSAccessor(bool requireValidPath=true) override
Definition uds-remote-store.hh:66
Definition ref.hh:15
return fd
Definition lexer.l:2948
Definition indirect-root-store.hh:40
LocalFSStoreConfig(PathView path, const Params &params)
Definition local-fs-store.cc:11
Definition remote-store.hh:22
Definition remote-store-connection.hh:20
Definition serialise.hh:20
std::string doc() override
Definition uds-remote-store.cc:35
Path path
Definition uds-remote-store.hh:35
UDSRemoteStoreConfig(std::string_view scheme, std::string_view authority, const Params &params)
Definition uds-remote-store.cc:20
const std::string name() override
Definition uds-remote-store.hh:25
LocalFSStoreConfig(PathView path, const Params &params)
Definition local-fs-store.cc:11
std::string Path
Definition types.hh:22