about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--third_party/nix/src/proto/worker.proto13
1 files changed, 13 insertions, 0 deletions
diff --git a/third_party/nix/src/proto/worker.proto b/third_party/nix/src/proto/worker.proto
index f192478cf1ff..32df488a5d8a 100644
--- a/third_party/nix/src/proto/worker.proto
+++ b/third_party/nix/src/proto/worker.proto
@@ -100,6 +100,11 @@ service Worker {
   // Upload & add a NAR to the daemon's Nix store.
   rpc AddToStoreNar(stream AddToStoreNarRequest)
       returns (google.protobuf.Empty);
+
+  // Given a set of paths that are to be built, return the set of
+  // derivations that will be built, and the set of output paths that
+  // will be substituted.
+  rpc QueryMissing(StorePaths) returns (QueryMissingResponse);
 }
 
 enum HashType {
@@ -299,3 +304,11 @@ message AddToStoreNarRequest {
     bytes chunk = 2;
   }
 }
+
+message QueryMissingResponse {
+  repeated string will_build = 1;
+  repeated string will_substitute = 2;
+  repeated string unknown = 3;
+  uint64 download_size = 4;
+  uint64 nar_size = 5;
+}