syntax = "proto2"; package android.automotive.computepipe.proto; enum RemoteGraphStatusCode { SUCCESS = 0; INTERNAL_ERROR = 1; INVALID_ARGUMENT = 2; ILLEGAL_STATE = 3; NO_MEMORY = 4; FATAL_ERROR = 5; } message StatusResponse { optional RemoteGraphStatusCode code = 1; optional string message = 2; } message GraphOptionsRequest {} message GraphOptionsResponse { optional string serialized_options = 1; } message SetGraphConfigRequest { optional string serialized_config = 1; } message OutputStreamMetadata { optional int32 stream_id = 1; } message ObserveOutputStreamRequest { optional int32 stream_id = 1; } enum PixelFormat { RGB = 0; RGBA = 1; GRAY = 2; } message PixelData { optional int32 width = 1; optional int32 height = 2; optional int32 step = 3; optional PixelFormat format = 4; optional bytes data = 5; } message OutputStreamResponse { oneof data { string semantic_data = 1; PixelData pixel_data = 2; } optional int32 stream_id = 3; optional int64 timestamp_us = 4; } message SetDebugRequest { optional bool enabled = 1; } message ProfilingDataRequest {} message ProfilingDataResponse { optional string data = 1; } message StartGraphExecutionRequest {} message StopGraphExecutionRequest { optional bool stop_immediate = 1; } message StartGraphProfilingRequest {} message StopGraphProfilingRequest {} message ResetGraphRequest {} service GrpcGraphService { rpc GetGraphOptions(GraphOptionsRequest) returns (GraphOptionsResponse) {} rpc SetGraphConfig(SetGraphConfigRequest) returns (StatusResponse) {} rpc SetDebugOption(SetDebugRequest) returns (StatusResponse) {} rpc StartGraphExecution(StartGraphExecutionRequest) returns (StatusResponse) {} rpc ObserveOutputStream(ObserveOutputStreamRequest) returns (stream OutputStreamResponse) {} rpc StopGraphExecution(StopGraphExecutionRequest) returns (StatusResponse) {} rpc ResetGraph(ResetGraphRequest) returns (StatusResponse) {} rpc StartGraphProfiling(StartGraphProfilingRequest) returns (StatusResponse) {} rpc StopGraphProfiling(StopGraphProfilingRequest) returns (StatusResponse) {} rpc GetProfilingData(ProfilingDataRequest) returns (ProfilingDataResponse) {} }