aboutsummaryrefslogtreecommitdiff
path: root/src/libstore/remote-store.cc
diff options
context:
space:
mode:
authoreldritch horrors <pennae@lix.systems>2024-05-16 17:58:27 +0200
committereldritch horrors <pennae@lix.systems>2024-07-15 21:50:25 +0000
commit3447dbfb2c0f3bf7e31577bf2d5908b14ba59601 (patch)
tree909338dd54255cd14910a5a159b544c063781fa0 /src/libstore/remote-store.cc
parent5e16b10cb12a0c135683c148008df8cef0791df9 (diff)
libstore: rewrite narFromPath as generator
Change-Id: Ifa783c2c65c06ddd1d0212016d5bfd07666ea91c
Diffstat (limited to 'src/libstore/remote-store.cc')
-rw-r--r--src/libstore/remote-store.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/libstore/remote-store.cc b/src/libstore/remote-store.cc
index 9cebdbe82..9ff01351c 100644
--- a/src/libstore/remote-store.cc
+++ b/src/libstore/remote-store.cc
@@ -848,12 +848,14 @@ RemoteStore::Connection::~Connection()
}
}
-void RemoteStore::narFromPath(const StorePath & path, Sink & sink)
+WireFormatGenerator RemoteStore::narFromPath(const StorePath & path)
{
auto conn(connections->get());
conn->to << WorkerProto::Op::NarFromPath << printStorePath(path);
conn->processStderr();
- sink << copyNAR(conn->from);
+ return [](auto conn) -> WireFormatGenerator {
+ co_yield copyNAR(conn->from);
+ }(std::move(conn));
}
ref<FSAccessor> RemoteStore::getFSAccessor()