Merge changes from Bazel: Allow sending and receiving work requests via proxy and multiplexer in the persistent worker protocol.
PiperOrigin-RevId: 274560006
diff --git a/third_party/github.com/bazelbuild/bazel/src/main/protobuf/worker_protocol.proto b/third_party/github.com/bazelbuild/bazel/src/main/protobuf/worker_protocol.proto
index 4706792..c628b7e 100644
--- a/third_party/github.com/bazelbuild/bazel/src/main/protobuf/worker_protocol.proto
+++ b/third_party/github.com/bazelbuild/bazel/src/main/protobuf/worker_protocol.proto
@@ -38,14 +38,25 @@
// The inputs that the worker is allowed to read during execution of this
// request.
repeated Input inputs = 2;
+
+ // To support multiplex worker, each WorkRequest must have an unique ID. This
+ // ID should be attached unchanged to the WorkResponse.
+ int32 request_id = 3;
}
-// The worker sends this message to Blaze when it finished its work on the WorkRequest message.
+// The worker sends this message to Blaze when it finished its work on the
+// WorkRequest message.
message WorkResponse {
int32 exit_code = 1;
- // This is printed to the user after the WorkResponse has been received and is supposed to contain
- // compiler warnings / errors etc. - thus we'll use a string type here, which gives us UTF-8
- // encoding.
+ // This is printed to the user after the WorkResponse has been received and is
+ // supposed to contain compiler warnings / errors etc. - thus we'll use a
+ // string type here, which gives us UTF-8 encoding.
string output = 2;
+
+ // To support multiplex worker, each WorkResponse must have an unique ID.
+ // Since worker processes which support multiplex worker will handle multiple
+ // WorkRequests in parallel, this ID will be used to determined which
+ // WorkerProxy does this WorkResponse belong to.
+ int32 request_id = 3;
}