mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-10 08:16:15 +02:00
download-via-ssh: Use readStorePath
This commit is contained in:
parent
4db572062c
commit
a9d99ab55f
2 changed files with 13 additions and 5 deletions
|
@ -5,6 +5,8 @@
|
|||
#include "affinity.hh"
|
||||
#include "globals.hh"
|
||||
#include "serve-protocol.hh"
|
||||
#include "worker-protocol.hh"
|
||||
#include "store-api.hh"
|
||||
|
||||
#include <iostream>
|
||||
#include <unistd.h>
|
||||
|
@ -82,10 +84,15 @@ static void query(std::pair<FdSink, FdSource> & pipes)
|
|||
writeInt(qCmdInfo, pipes.first);
|
||||
writeStrings(tokenized, pipes.first);
|
||||
pipes.first.flush();
|
||||
for (Path path = readString(pipes.second); !path.empty(); path = readString(pipes.second)) {
|
||||
while (1) {
|
||||
Path path = readString(pipes.second);
|
||||
if (path.empty()) break;
|
||||
assertStorePath(path);
|
||||
std::cout << path << std::endl;
|
||||
std::cout << readString(pipes.second) << std::endl;
|
||||
PathSet references = readStrings<PathSet>(pipes.second);
|
||||
string deriver = readString(pipes.second);
|
||||
if (!deriver.empty()) assertStorePath(deriver);
|
||||
std::cout << deriver << std::endl;
|
||||
PathSet references = readStorePaths<PathSet>(pipes.second);
|
||||
std::cout << references.size() << std::endl;
|
||||
foreach (PathSet::iterator, i, references)
|
||||
std::cout << *i << std::endl;
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
#include "local-store.hh"
|
||||
#include "util.hh"
|
||||
#include "serve-protocol.hh"
|
||||
#include "worker-protocol.hh"
|
||||
|
||||
#include <iostream>
|
||||
#include <algorithm>
|
||||
|
@ -864,12 +865,12 @@ static void opServe(Strings opFlags, Strings opArgs)
|
|||
}
|
||||
switch (qCmd) {
|
||||
case qCmdHave: {
|
||||
PathSet paths = readStrings<PathSet>(in);
|
||||
PathSet paths = readStorePaths<PathSet>(in);
|
||||
writeStrings(store->queryValidPaths(paths), out);
|
||||
break;
|
||||
}
|
||||
case qCmdInfo: {
|
||||
PathSet paths = readStrings<PathSet>(in);
|
||||
PathSet paths = readStorePaths<PathSet>(in);
|
||||
// !!! Maybe we want a queryPathInfos?
|
||||
foreach (PathSet::iterator, i, paths) {
|
||||
if (!store->isValidPath(*i))
|
||||
|
|
Loading…
Reference in a new issue