about summary refs log tree commit diff
path: root/src/libstore/export-import.cc
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2017-03-01T15·07+0100
committerEelco Dolstra <edolstra@gmail.com>2017-03-01T15·07+0100
commitf61f67ddee12a976a0a6a20652e7c545b49fa46c (patch)
treef31e33eaa184861271baa9e10c00e809b70ba3df /src/libstore/export-import.cc
parent374908726b87f6cd137ea7d097fdcda57003594e (diff)
RemoteStore::addToStore(): Send NAR rather than string containing NAR
This allows the NAR to be streamed in the future (though we're not
doing that yet).
Diffstat (limited to 'src/libstore/export-import.cc')
-rw-r--r--src/libstore/export-import.cc23
1 files changed, 1 insertions, 22 deletions
diff --git a/src/libstore/export-import.cc b/src/libstore/export-import.cc
index e584ae538dae..531f010d93a7 100644
--- a/src/libstore/export-import.cc
+++ b/src/libstore/export-import.cc
@@ -61,27 +61,6 @@ void Store::exportPath(const Path & path, Sink & sink)
     hashAndWriteSink << exportMagic << path << info->references << info->deriver << 0;
 }
 
-struct TeeSource : Source
-{
-    Source & readSource;
-    ref<std::string> data;
-    TeeSource(Source & readSource)
-        : readSource(readSource)
-        , data(make_ref<std::string>())
-    {
-    }
-    size_t read(unsigned char * data, size_t len)
-    {
-        size_t n = readSource.read(data, len);
-        this->data->append((char *) data, n);
-        return n;
-    }
-};
-
-struct NopSink : ParseSink
-{
-};
-
 Paths Store::importPaths(Source & source, std::shared_ptr<FSAccessor> accessor, bool dontCheckSigs)
 {
     Paths res;
@@ -92,7 +71,7 @@ Paths Store::importPaths(Source & source, std::shared_ptr<FSAccessor> accessor,
 
         /* Extract the NAR from the source. */
         TeeSource tee(source);
-        NopSink sink;
+        ParseSink sink;
         parseDump(sink, tee);
 
         uint32_t magic = readInt(source);