blob: 08da2fac5ef3f93dcf93885aa12a8c334f14d98c [file] [log] [blame]
// 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;
}