diff options
Diffstat (limited to 'tvix/proto/evaluator.proto')
-rw-r--r-- | tvix/proto/evaluator.proto | 144 |
1 files changed, 0 insertions, 144 deletions
diff --git a/tvix/proto/evaluator.proto b/tvix/proto/evaluator.proto deleted file mode 100644 index 96431a0b3bfb..000000000000 --- a/tvix/proto/evaluator.proto +++ /dev/null @@ -1,144 +0,0 @@ -// SPDX-License-Identifier: MIT -// Copyright © 2021 The Tvix Authors -syntax = "proto3"; - -package tvix.proto.v1; - -service EvaluatorService { - rpc Evaluate(stream EvaluateRequest) returns (stream EvaluateResponse) {} -} - -// -// Message types for EvaluateRequest -// - -message EvaluateFile { - // Absolute path at which the evaluator can find the file to be - // evaluated. - string file_path = 1; - - // Optional attribute that should be evaluated within the file, - // assuming that the value it evaluates to is an attribute set. - optional string attribute = 2; - - // Additional arguments to pass into the evaluation, with which the - // file's top-level function will be auto-called. - map<string, NixValue> arguments = 3; -} - -message EvaluateExpression { - // Literal Nix expression to evaluate. - string expression = 1; - - // Working directory in which the expression should be evaluated. - string working_directory = 2; -} - -message BuildResultChunk { - string drv_hash = 1; - string output = 2; - bytes data = 3; - - // This field may be set on the first build result chunk returned - // to the evaluator, indicating the total size of the output that - // is going to be streamed in bytes. - // - // If set, the evaluator can use this to appropriately allocate a - // buffer for the output. - optional int64 output_size = 4; -} - -// Indicates that a single build has completed successfully. In case -// that the build outputs were required by the evaluator this also -// indicates that the output has been returned completely. -message BuildSuccess { - string drv_hash = 1; - string output = 2; -} - -// Describes an error that occured during a single build. -// -// TODO: We might want a more sophisticated error type. -message BuildError { - string drv_hash = 1; - string output = 2; - string error = 3; -} - -message BuildResult { - oneof build_result { - BuildSuccess build_success = 1; - BuildError build_error = 2; - } -} - - -/// Messages sent to the evaluator by the build coordinator. -message EvaluateRequest { - oneof message { - // Ask the evaluator to evaluate the specified file, and - // optionally attribute within that file. Must be the first - // message. - EvaluateFile evaluate_file = 1; - - // Ask the evaluator to evaluate the specified Nix expression. - // Must be the first message. - EvaluateExpression evaluate_expression = 2; - - // Send the chunks of a build result, in response to a - // BuildRequest. - // - // Note: This message might change as the store protocol is - // designed, as it is possible that mechanisms for transferring - // files might be reused between the protocols. - BuildResultChunk build_result_chunk = 3; - - // Indicate the result of a single build. See the documentation - // for the message types defined above for semantic details. - BuildResult build_result = 4; - } -} - -// -// Message types for EvaluateResponse -// - -// TODO: Placeholder type. -message Derivation { - string drv = 1; -} - -// TODO: Placeholder type. -message NixValue { - string value = 1; -} - -// TODO: Placeholder type. -message NixError { - string value = 1; -} - -message BuildRequest { - Derivation drv = 1; - string output = 2; -} - -// Messages returned to the coordinator by the evaluator. -message EvaluateResponse { - oneof message { - // A derivation that was instantiated while reducing the graph, - // and whose output is not required by the evaluator. - Derivation derivation = 1; - - // A derivation that was instantiated while reducing the graph, - // and whose output is required by the evaluator (IFD). - BuildRequest build_request = 2; - - // The final value yielded by the evaluation. Stream is closed - // after this. - NixValue done = 3; - - // Evaluation error. Stream is closed after this. - NixError error = 4; - } -} |