diff options
Diffstat (limited to 'cast/cast_core/api/runtime/runtime_service.proto')
-rw-r--r-- | cast/cast_core/api/runtime/runtime_service.proto | 74 |
1 files changed, 61 insertions, 13 deletions
diff --git a/cast/cast_core/api/runtime/runtime_service.proto b/cast/cast_core/api/runtime/runtime_service.proto index 084852eb..0ea47daa 100644 --- a/cast/cast_core/api/runtime/runtime_service.proto +++ b/cast/cast_core/api/runtime/runtime_service.proto @@ -2,14 +2,15 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // -// **** DO NOT EDIT - this .proto was automatically generated. **** +// **** DO NOT EDIT - this file was automatically generated. **** syntax = "proto3"; package cast.runtime; import "google/protobuf/duration.proto"; -import "google/protobuf/empty.proto"; +import "cast/cast_core/api/common/application_config.proto"; import "cast/cast_core/api/common/service_info.proto"; +import "cast/cast_core/api/v2/url_rewrite.proto"; option optimize_for = LITE_RUNTIME; @@ -17,9 +18,12 @@ option optimize_for = LITE_RUNTIME; // // This service is called by CastCore after Runtime starts up. service RuntimeService { + // Loads a Cast application. The runtime must start its + // RuntimeApplicationService on runtime_application_service_info. + rpc LoadApplication(LoadApplicationRequest) returns (LoadApplicationResponse); + // Launches a Cast application. The application must connect to the - // CoreApplicationService based on cast_protocol and - // core_application_endpoint, and provide its endpoint. + // CoreApplicationService via core_application_service_info. rpc LaunchApplication(LaunchApplicationRequest) returns (LaunchApplicationResponse); @@ -38,24 +42,57 @@ service RuntimeService { // Provides information need by the runtime to start recording metrics via // the core. rpc StartMetricsRecorder(StartMetricsRecorderRequest) - returns (google.protobuf.Empty); + returns (StartMetricsRecorderResponse); // Stops the metrics recorder, which may also attempt to flush. - rpc StopMetricsRecorder(google.protobuf.Empty) - returns (google.protobuf.Empty); + rpc StopMetricsRecorder(StopMetricsRecorderRequest) + returns (StopMetricsRecorderResponse); } -message StartMetricsRecorderRequest { - // Metrics service info. - cast.common.ServiceInfo metrics_recorder_service_info = 1; +message LoadApplicationRequest { + // Cast application config. + cast.common.ApplicationConfig application_config = 1; + // Initial rules to rewrite URLs and headers. + cast.v2.UrlRequestRewriteRules url_rewrite_rules = 2; + // Cast session id used to setup a connection and pull the config from core + // application service. + string cast_session_id = 3; + // RuntimeApplication service info. The endpoint is generated by Cast Core and + // must be used by the Runtime to bind the RuntimeApplication service. + cast.common.ServiceInfo runtime_application_service_info = 4; +} + +// Info relevant to a V2 channel between the runtime and cast core. +message V2ChannelInfo { + // If set, only messages within these namespaces will be sent to the runtime. + // If empty, all V2 messages will be sent to the runtime regardless of + // namespace. + repeated string requested_namespaces = 1; +} + +// Info relevant to a MessagePort channel between the runtime and cast core. +message MessagePortInfo {} + +message LoadApplicationResponse { + // One of these fields must be set. This specifies what type of communication + // channel should be used to communicate between the runtime and cast core for + // the given application. + oneof channel_type { + V2ChannelInfo v2_info = 1; + MessagePortInfo message_port_info = 2; + } } message LaunchApplicationRequest { // CoreApplication service info. cast.common.ServiceInfo core_application_service_info = 1; - // Cast session id used to setup a connection and pull the config from core - // application service. - string cast_session_id = 2; + // DEPRECATED + string cast_session_id = 2 [deprecated = true]; + // DEPRECATED + cast.common.ServiceInfo runtime_application_service_info = 3 + [deprecated = true]; + // CastMedia service info for this application in CastCore. + cast.common.ServiceInfo cast_media_service_info = 4; } // Returned by the runtime in response to a launch application request. @@ -82,3 +119,14 @@ message HeartbeatRequest { } message HeartbeatResponse {} + +message StartMetricsRecorderRequest { + // Metrics service info. + cast.common.ServiceInfo metrics_recorder_service_info = 1; +} + +message StartMetricsRecorderResponse {} + +message StopMetricsRecorderRequest {} + +message StopMetricsRecorderResponse {} |