| syntax = "proto3"; |
| package teaclave_scheduler_service_proto; |
| |
| import "teaclave_common.proto"; |
| |
| message SubscribeRequest {} |
| message SubscribeResponse { |
| bool success = 1; |
| } |
| |
| message PullTaskRequest {} |
| message PullTaskResponse { |
| bytes staged_task = 1; |
| } |
| |
| message UpdateTaskStatusRequest { |
| string task_id = 1; |
| teaclave_common_proto.TaskStatus task_status = 2; |
| } |
| message UpdateTaskStatusResponse {} |
| |
| message UpdateTaskResultRequest { |
| string task_id = 1; |
| teaclave_common_proto.TaskResult result = 2; |
| } |
| message UpdateTaskResultResponse {} |
| |
| message PublishTaskRequest { |
| bytes staged_task = 1; |
| } |
| message PublishTaskResponse {} |
| |
| service TeaclaveScheduler { |
| // Publisher |
| rpc PublishTask(PublishTaskRequest) returns (PublishTaskResponse); |
| |
| // Subscriber |
| rpc Subscribe(SubscribeRequest) returns (SubscribeResponse); |
| rpc PullTask(PullTaskRequest) returns (PullTaskResponse); |
| |
| rpc UpdateTaskStatus(UpdateTaskStatusRequest) returns (UpdateTaskStatusResponse); |
| rpc UpdateTaskResult(UpdateTaskResultRequest) returns (UpdateTaskResultResponse); |
| } |