ray/protos/orchestra.proto

137 lines
2.7 KiB
Protocol Buffer
Raw Normal View History

2016-02-07 15:50:02 -08:00
syntax = "proto3";
2016-02-10 12:12:19 -08:00
import "types.proto";
2016-02-22 13:55:06 -08:00
message AckReply {
string errormsg = 1;
}
2016-02-07 15:50:02 -08:00
message RegisterWorkerRequest {
2016-02-22 13:55:06 -08:00
string worker_address = 1;
string objstore_address = 2;
2016-02-07 15:50:02 -08:00
}
message RegisterWorkerReply {
uint64 workerid = 1;
}
2016-02-22 13:55:06 -08:00
message RegisterObjStoreRequest {
string address = 1;
}
message RegisterObjStoreReply {
uint64 objstoreid = 1;
}
message RegisterFunctionRequest {
uint64 workerid = 1;
string fnname = 2;
uint64 num_return_vals = 3;
}
2016-02-07 15:50:02 -08:00
message RemoteCallRequest {
2016-02-22 13:55:06 -08:00
Call call = 1;
2016-02-07 15:50:02 -08:00
}
message RemoteCallReply {
2016-02-22 13:55:06 -08:00
repeated uint64 result = 1;
2016-02-07 15:50:02 -08:00
}
2016-02-22 13:55:06 -08:00
message PullObjRequest {
uint64 workerid = 1;
uint64 objref = 2;
2016-02-07 15:50:02 -08:00
}
2016-02-22 13:55:06 -08:00
message PushObjRequest {
uint64 workerid = 1;
}
message PushObjReply {
uint64 objref = 1;
}
message ChangeCountRequest {
uint64 objref = 1;
}
message GetDebugInfoRequest {
2016-03-01 01:02:08 -08:00
bool do_scheduling = 1;
2016-02-22 13:55:06 -08:00
}
message FnTableEntry {
2016-03-01 01:02:08 -08:00
repeated uint64 workerid = 1;
2016-02-22 13:55:06 -08:00
uint64 num_return_vals = 2;
}
message GetDebugInfoReply {
repeated Call task = 1;
2016-03-01 01:02:08 -08:00
repeated uint64 avail_worker = 3;
map<string, FnTableEntry> function_table = 2;
2016-02-22 13:55:06 -08:00
}
2016-03-02 15:23:11 -08:00
service Scheduler {
2016-02-07 15:50:02 -08:00
rpc RegisterWorker(RegisterWorkerRequest) returns (RegisterWorkerReply);
2016-02-22 13:55:06 -08:00
rpc RegisterObjStore(RegisterObjStoreRequest) returns (RegisterObjStoreReply);
rpc RegisterFunction(RegisterFunctionRequest) returns (AckReply);
2016-02-07 15:50:02 -08:00
rpc RemoteCall(RemoteCallRequest) returns (RemoteCallReply);
2016-02-22 13:55:06 -08:00
rpc IncrementCount(ChangeCountRequest) returns (AckReply);
rpc DecrementCount(ChangeCountRequest) returns (AckReply);
rpc PushObj(PushObjRequest) returns (PushObjReply);
rpc PullObj(PullObjRequest) returns (AckReply);
rpc GetDebugInfo(GetDebugInfoRequest) returns (GetDebugInfoReply);
}
message DeliverObjRequest {
string objstore_address = 1; // objstore to deliver the object to
uint64 objref = 2; // reference of object that gets delivered
}
message RegisterObjRequest {
uint64 objref = 1; // reference of object that gets registered
}
message RegisterObjReply {
uint64 handle = 1; // handle to memory segment where object is stored
}
message ObjChunk {
uint64 objref = 1;
uint64 totalsize = 2;
bytes data = 3;
}
message GetObjRequest {
uint64 objref = 1;
}
message GetObjReply {
string bucket = 1;
uint64 handle = 2;
uint64 size = 3;
}
message DebugInfoRequest {}
message DebugInfoReply {
repeated uint64 objref = 1;
}
service ObjStore {
rpc DeliverObj(DeliverObjRequest) returns (AckReply);
rpc StreamObj(stream ObjChunk) returns (AckReply);
rpc GetObj(GetObjRequest) returns (GetObjReply);
rpc DebugInfo(DebugInfoRequest) returns (DebugInfoReply);
2016-02-10 12:12:19 -08:00
}
message InvokeCallRequest {
2016-03-01 01:02:08 -08:00
Call call = 1;
2016-02-10 12:12:19 -08:00
}
message InvokeCallReply {
}
2016-03-02 15:23:11 -08:00
service WorkerService {
2016-02-10 12:12:19 -08:00
rpc InvokeCall(InvokeCallRequest) returns (InvokeCallReply);
2016-02-07 15:50:02 -08:00
}