Add a function queryValidPaths()

queryValidPaths() combines multiple calls to isValidPath() in one.
This matters when using the Nix daemon because it reduces latency.
For instance, on "nix-env -qas \*" it reduces execution time from 5.7s
to 4.7s (which is indistinguishable from the non-daemon case).
This commit is contained in:
Eelco Dolstra 2012-07-11 11:08:47 -04:00
parent 667d5f1936
commit 58ef4d9a95
8 changed files with 49 additions and 3 deletions

View file

@ -297,6 +297,15 @@ static void performOp(unsigned int clientVersion,
break;
}
case wopQueryValidPaths: {
PathSet paths = readStorePaths<PathSet>(from);
startWork();
PathSet res = store->queryValidPaths(paths);
stopWork();
writeStrings(res, to);
break;
}
case wopHasSubstitutes: {
Path path = readStorePath(from);
startWork();