diff options
author | eldritch horrors <pennae@lix.systems> | 2024-05-16 17:58:27 +0200 |
---|---|---|
committer | eldritch horrors <pennae@lix.systems> | 2024-07-15 21:50:25 +0000 |
commit | 3447dbfb2c0f3bf7e31577bf2d5908b14ba59601 (patch) | |
tree | 909338dd54255cd14910a5a159b544c063781fa0 /src/libstore/remote-store.cc | |
parent | 5e16b10cb12a0c135683c148008df8cef0791df9 (diff) |
libstore: rewrite narFromPath as generator
Change-Id: Ifa783c2c65c06ddd1d0212016d5bfd07666ea91c
Diffstat (limited to 'src/libstore/remote-store.cc')
-rw-r--r-- | src/libstore/remote-store.cc | 6 |
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() |