rayclient/proto/task.proto
2020-09-12 15:57:57 -07:00

56 lines
931 B
Protocol Buffer

syntax = "proto3";
enum Type {
DEFAULT = 0;
}
message Arg {
enum Locality {
INTERNED = 0;
REFERENCE = 1;
}
Locality local = 1;
bytes reference_id = 2;
bytes data = 3;
Type type = 4;
}
message Task {
// Optionally Provided Task Name
string name = 1;
bytes payload_id = 2;
repeated Arg args = 3;
}
message TaskTicket {
bytes return_id = 1;
}
message PutRequest {
bytes data = 1;
}
message PutResponse {
bytes id = 1;
}
message GetRequest {
bytes id = 1;
}
message GetResponse {
bool valid = 1;
bytes data = 2;
}
service TaskServer {
rpc GetObject(GetRequest) returns (GetResponse) {}
rpc PutObject(PutRequest) returns (PutResponse) {}
rpc Schedule(Task) returns (TaskTicket) {}
}
service WorkServer {
rpc GetObject(GetRequest) returns (GetResponse) {}
rpc PutObject(PutRequest) returns (PutResponse) {}
rpc Execute(stream TaskTicket) returns (stream Task) {}
}