2017-06-08 00:53:36 +00:00
|
|
|
syntax = "proto3";
|
|
|
|
|
|
|
|
package control;
|
|
|
|
|
|
|
|
service Control {
|
|
|
|
rpc DiskUsage(DiskUsageRequest) returns (DiskUsageResponse);
|
2017-06-08 22:56:44 +00:00
|
|
|
rpc Solve(SolveRequest) returns (SolveResponse);
|
2017-06-13 21:42:51 +00:00
|
|
|
rpc Status(StatusRequest) returns (stream StatusResponse);
|
2017-06-08 00:53:36 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
message DiskUsageRequest {
|
|
|
|
}
|
|
|
|
|
|
|
|
message DiskUsageResponse {
|
|
|
|
repeated UsageRecord record = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message UsageRecord {
|
|
|
|
string ID = 1;
|
|
|
|
bool Mutable = 2;
|
|
|
|
bool InUse = 3;
|
|
|
|
int64 Size = 4;
|
|
|
|
}
|
|
|
|
|
2017-06-08 22:56:44 +00:00
|
|
|
message SolveRequest {
|
|
|
|
string Ref = 1;
|
|
|
|
repeated bytes Definition = 2; // TODO: remove repeated
|
|
|
|
}
|
|
|
|
|
|
|
|
message SolveResponse {
|
2017-06-13 21:42:51 +00:00
|
|
|
repeated Vertex vtx = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message StatusRequest {
|
|
|
|
string Ref = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message StatusResponse {
|
2017-06-14 00:15:55 +00:00
|
|
|
repeated Vertex vertexes = 1;
|
|
|
|
repeated VertexStatus statuses = 2;
|
|
|
|
repeated VertexLog logs = 3;
|
2017-06-13 21:42:51 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
message Vertex {
|
|
|
|
string ID = 1;
|
|
|
|
repeated string inputs = 2;
|
|
|
|
string name = 3;
|
2017-06-14 00:15:55 +00:00
|
|
|
bool cached = 4;
|
|
|
|
int64 started = 5; // relative, add abolute google.protobuf.Timestamp as well?
|
|
|
|
int64 completed = 6;
|
2017-06-08 22:56:44 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
message VertexStatus {
|
2017-06-13 21:42:51 +00:00
|
|
|
string ID = 1;
|
|
|
|
string vertex = 2;
|
|
|
|
string name = 3;
|
|
|
|
int64 current = 4;
|
|
|
|
int64 total = 5;
|
|
|
|
}
|
|
|
|
|
|
|
|
message VertexLog {
|
|
|
|
int64 inc = 1;
|
|
|
|
int64 timestamp = 2;
|
|
|
|
int64 stream = 3;
|
|
|
|
bytes msg = 4;
|
2017-06-08 22:56:44 +00:00
|
|
|
}
|