diff --git a/src/ingress_grpc/proto/dev/restate/services.proto b/src/ingress_grpc/proto/dev/restate/services.proto new file mode 100644 index 000000000..ee2652dfb --- /dev/null +++ b/src/ingress_grpc/proto/dev/restate/services.proto @@ -0,0 +1,35 @@ +/* + This package provides interfaces for built-in services + */ +syntax = "proto3"; + +package dev.restate; + +option java_multiple_files = true; +option java_package = "dev.restate.generated"; +option go_package = "restate.dev/sdk-go/pb"; + +service Ingress { + // Invoke a service and don't wait for the response. + // It is guaranteed that the service will be invoked after this method returns. + rpc Invoke(InvokeRequest) returns (InvokeResponse); +} + +message InvokeRequest { + // Fully qualified name of the service, e.g. `counter.Counter` + string service = 1; + // Method name of the service to invoke, e.g. `Add` + string method = 2; + // Argument of the invocation. + // When executing requests to the ingress using Protobuf, + // this field must contain the serialized Protobuf matching the argument type of the target method. + // When executing requests to the ingress using JSON, + // this field must contain the JSON object representing the argument type of the target method. + bytes argument = 3; +} + +message InvokeResponse { + // Generated unique invocation identifier. + // It can be used to retrieve the status of the invocation and cancel it. + string sid = 1; +} \ No newline at end of file