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 {
|
2016-03-10 12:40:05 -08:00
|
|
|
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 {
|
2016-02-22 16:06:16 -08:00
|
|
|
repeated Call task = 1;
|
2016-03-01 01:02:08 -08:00
|
|
|
repeated uint64 avail_worker = 3;
|
2016-02-22 16:06:16 -08:00
|
|
|
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
|
|
|
}
|