syntax = "proto3";
package durable_object.v1;
service ActorHostService {
rpc Invoke(HostInvokeActorRequest) returns (InvokeActorReply);
rpc HandleSocket(HostSocketEventRequest) returns (InvokeActorReply);
}
service ActorControlPlaneService {
rpc Execute(ControlPlaneRequest) returns (ControlPlaneReply);
}
message ControlPlaneRequest {
bytes command_json = 1;
}
message ControlPlaneReply {
bytes reply_json = 1;
}
message ActorKey {
string namespace_id = 1;
string actor_type = 2;
string actor_id = 3;
}
message InvokeActorRequest {
reserved 5;
string request_id = 1;
ActorKey actor = 2;
string method = 3;
bytes args_json = 4;
}
message HostInvokeActorRequest {
InvokeActorRequest invocation = 1;
uint64 owner_epoch = 2;
string state_read_url = 3;
uint64 state_version = 4;
}
message HostSocketEventRequest {
string request_id = 1;
ActorKey actor = 2;
bytes event_json = 3;
bytes connections_json = 4;
uint64 owner_epoch = 5;
string state_read_url = 6;
uint64 state_version = 7;
}
message InvokeActorReply {
oneof result {
ActorCompleted completed = 1;
ActorFailed failed = 2;
Reroute reroute = 3;
}
}
message ActorCompleted {
bytes result_json = 1;
bytes socket_effects_json = 2;
}
message ActorFailed {
string code = 1;
string message = 2;
}
message Reroute {}