| // Copyright 2019 The Pigweed Authors |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); you may not |
| // use this file except in compliance with the License. You may obtain a copy of |
| // the License at |
| // |
| // https://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT |
| // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the |
| // License for the specific language governing permissions and limitations under |
| // the License. |
| syntax = "proto3"; |
| |
| package pw.target_runner; |
| |
| option go_package = "pigweed.dev/proto/pw_target_runner/target_runner_pb"; |
| |
| service TargetRunner { |
| // Queues a single executable, blocking until it has run. |
| rpc RunBinary(RunBinaryRequest) returns (RunBinaryResponse) {} |
| |
| // Returns information about the server. |
| rpc Status(Empty) returns (ServerStatus) {} |
| } |
| |
| message Empty {} |
| |
| enum RunStatus { |
| PENDING = 0; |
| SUCCESS = 1; |
| FAILURE = 2; |
| SKIPPED = 3; |
| } |
| |
| message RunBinaryRequest { |
| // Local file path to the binary. |
| string file_path = 1; |
| } |
| |
| message RunBinaryResponse { |
| RunStatus result = 1; |
| uint64 queue_time_ns = 2; |
| uint64 run_time_ns = 3; |
| bytes output = 4; |
| } |
| |
| message ServerStatus { |
| uint64 uptime_ns = 1; |
| uint32 tasks_queued = 2; |
| uint32 tasks_passed = 3; |
| uint32 tasks_failed = 4; |
| } |