about summary refs log tree commit diff
path: root/src/libstore/remote-store.hh
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2012-07-17T22·55-0400
committerEelco Dolstra <eelco.dolstra@logicblox.com>2012-07-17T22·55-0400
commitccc52adfb2121ade510d35dc9b91193af9fa731e (patch)
treec6314b5198cdfbe9a21633e515203965ee431382 /src/libstore/remote-store.hh
parent220818f758d2facc194f567f35ca677ef79393bd (diff)
Add function queryPathFromHashPart()
To implement binary caches efficiently, Hydra needs to be able to map
the hash part of a store path (e.g. "gbg...zr7") to the full store
path (e.g. "/nix/store/gbg...kzr7-subversion-1.7.5").  (The binary
cache mechanism uses hash parts as a key for looking up store paths to
ensure privacy.)  However, doing a search in the Nix store for
/nix/store/<hash>* is expensive since it requires reading the entire
directory.  queryPathFromHashPart() prevents this by doing a cheap
database lookup.
Diffstat (limited to 'src/libstore/remote-store.hh')
-rw-r--r--src/libstore/remote-store.hh2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/libstore/remote-store.hh b/src/libstore/remote-store.hh
index e9f40da6dbf4..f0e5dbf7695a 100644
--- a/src/libstore/remote-store.hh
+++ b/src/libstore/remote-store.hh
@@ -43,6 +43,8 @@ public:
     
     StringSet queryDerivationOutputNames(const Path & path);
 
+    Path queryPathFromHashPart(const string & hashPart);
+    
     bool hasSubstitutes(const Path & path);
     
     bool querySubstitutablePathInfo(const Path & path,