feat(3p/nix): Implement FindRoots, CollectGarbage

Implement the RPC client and server handlers for the FindRoots and
CollectGarbage RPC calls

Change-Id: Ifa5d582c6a33bd1e7661ac2fc860505ef404dad0
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1656
Tested-by: BuildkiteCI
Reviewed-by: kanepyork <rikingcoding@gmail.com>
This commit is contained in:
Griffin Smith 2020-08-04 23:06:01 -04:00 committed by glittershark
parent f9df9b4733
commit ea488b5705
5 changed files with 117 additions and 3 deletions

View file

@ -80,8 +80,13 @@ struct GCOptions {
/* Stop after at least `maxFreed' bytes have been freed. */
unsigned long long maxFreed{std::numeric_limits<unsigned long long>::max()};
[[nodiscard]] const proto::GCAction ActionToProto() const;
};
std::optional<GCOptions::GCAction> GCActionFromProto(
nix::proto::GCAction gc_action);
struct GCResults {
/* Depending on the action, the GC roots, or the paths that would
be or have been deleted. */