From 86be120bd5cd4ac18780c0d6b661f178f4a17023 Mon Sep 17 00:00:00 2001 From: Rafael RL Date: Wed, 29 Jan 2025 15:19:54 +0100 Subject: [PATCH 1/7] Bidirectional provider start stop --- proto/kuksa/val/v2/types.proto | 7 +++++ proto/kuksa/val/v2/val.proto | 49 ++++++++++++++++++++++++++++++---- 2 files changed, 51 insertions(+), 5 deletions(-) diff --git a/proto/kuksa/val/v2/types.proto b/proto/kuksa/val/v2/types.proto index 4eae41d2..2df5d009 100644 --- a/proto/kuksa/val/v2/types.proto +++ b/proto/kuksa/val/v2/types.proto @@ -74,6 +74,13 @@ enum ErrorCode { ERROR_CODE_PERMISSION_DENIED = 4; } +enum CommandError { + COMMAND_ERROR_CODE_UNSPECIFIED = 0; // Default value, never to be explicitly set, + COMMAND_ERROR_CODE_OK = 1; + COMMAND_ERROR_CODE_NETWORK_ERROR = 2; + COMMAND_ERROR_CODE_OVERLOAD = 3; +} + message Metadata { // Full dot notated path for the signal diff --git a/proto/kuksa/val/v2/val.proto b/proto/kuksa/val/v2/val.proto index 2756ac19..6642dc30 100644 --- a/proto/kuksa/val/v2/val.proto +++ b/proto/kuksa/val/v2/val.proto @@ -213,6 +213,7 @@ message SubscribeRequest { // Default (0) results in that only latest message is kept. // Maximum value supported is implementation dependent. uint32 buffer_size = 2; + Filter filter = 3; } message SubscribeResponse { @@ -227,6 +228,7 @@ message SubscribeByIdRequest { // Default (0) results in that only latest message is kept. // Maximum value supported is implementation dependent. uint32 buffer_size = 2; + Filter filter = 3; } message SubscribeByIdResponse { @@ -268,16 +270,13 @@ message PublishValueRequest { Datapoint data_point = 2; } -message PublishValueResponse { -} - message PublishValuesRequest { - int32 request_id = 1; /// Unique request id for the stream that can be used to identify the response. + uint64 command_id = 1; /// Unique request id for the stream that can be used to identify the command. map data_points = 2; } message PublishValuesResponse { - int32 request_id = 1; + uint64 command_id = 1; map status = 2; } @@ -298,6 +297,38 @@ message BatchActuateStreamResponse { Error error = 2; } +message Filter { + int item_count = 1; + int duration_ms = 2; + int sample_rate_ms = 3; +} + +message Start { + //Databroker create and manages command ids life, in case provider is down we send same start command id to continue the provider sending same data with filters + uint64 command_id = 1; + Filter filter = 2; + repeated SignalID signals_list = 3; +} + +message Stop { + uint64 command_id = 1; +} + +message Command { + oneof action { + Start start = 1; + Stop stop = 2; + } +} + +message SignalCommandRequest { + Command command = 1; +} + +message SignalCommandResponse { + CommandError command_error = 1; +} + message OpenProviderStreamRequest { oneof action { // Inform server of an actuator this provider provides. @@ -307,6 +338,10 @@ message OpenProviderStreamRequest { // Sent to acknowledge the acceptance of a batch actuate // request. BatchActuateStreamResponse batch_actuate_stream_response = 3; + // Inform server of a sensor this provider provides. + ProvideSensorRequest provide_sensor_request = 4; + // Start/stop response + SignalCommandResponse signal_command_response = 5; } } @@ -318,6 +353,10 @@ message OpenProviderStreamResponse { PublishValuesResponse publish_values_response = 2; // Send a batch actuate request to a provider. BatchActuateStreamRequest batch_actuate_stream_request = 3; + // Response to a provide sensor request. + ProvideSensorResponse provide_sensor_response = 4; + // Start/stop request + SignalCommandRequest signal_command_request = 5; } } From 511e54d64c26f07844b62b2c78a33a26a5933c14 Mon Sep 17 00:00:00 2001 From: Rafael RL Date: Mon, 17 Feb 2025 12:40:55 +0100 Subject: [PATCH 2/7] Add filter concept --- proto/kuksa/val/v2/types.proto | 8 ++++- proto/kuksa/val/v2/val.proto | 66 +++++++++++++++++++--------------- 2 files changed, 44 insertions(+), 30 deletions(-) diff --git a/proto/kuksa/val/v2/types.proto b/proto/kuksa/val/v2/types.proto index 2df5d009..58e6b90a 100644 --- a/proto/kuksa/val/v2/types.proto +++ b/proto/kuksa/val/v2/types.proto @@ -47,6 +47,10 @@ message Value { } } +message SampleRate { + int32 value_ms = 1; +} + message SignalID { oneof signal { // Numeric identifier to the signal @@ -120,7 +124,9 @@ message Metadata { Value allowed_values = 17; // Must be of array type Value min = 18; Value max = 19; - + + // Sample rate at which its provider will publish the signal value.bool + SampleRate sample_rate = 20; } // VSS Data type of a signal diff --git a/proto/kuksa/val/v2/val.proto b/proto/kuksa/val/v2/val.proto index 6642dc30..e8f871fa 100644 --- a/proto/kuksa/val/v2/val.proto +++ b/proto/kuksa/val/v2/val.proto @@ -271,12 +271,12 @@ message PublishValueRequest { } message PublishValuesRequest { - uint64 command_id = 1; /// Unique request id for the stream that can be used to identify the command. + uint64 request_it = 1; /// Unique request id for the stream that can be used to identify the command. map data_points = 2; } message PublishValuesResponse { - uint64 command_id = 1; + uint64 request_id = 1; map status = 2; } @@ -287,6 +287,13 @@ message ProvideActuationRequest { message ProvideActuationResponse { } +message ProvideSensorRequest { + map signals_sample_rates = 1; +} + +message ProvideSensorResponse { +} + message BatchActuateStreamRequest { repeated ActuateRequest actuate_requests = 1; } @@ -298,35 +305,36 @@ message BatchActuateStreamResponse { } message Filter { - int item_count = 1; - int duration_ms = 2; - int sample_rate_ms = 3; -} - -message Start { - //Databroker create and manages command ids life, in case provider is down we send same start command id to continue the provider sending same data with filters - uint64 command_id = 1; - Filter filter = 2; - repeated SignalID signals_list = 3; -} - -message Stop { - uint64 command_id = 1; -} - -message Command { - oneof action { - Start start = 1; - Stop stop = 2; + // Duration of the active call. If it is not set, call will least for ever. + int32 duration_ms = 1; + // Desired sample rate. + SampleRate sample_rate = 2; + should we add time_out in case provider took so long to provider the value? +} + +message FilterProvider { + oneof state { + // Used for GetValue method + bool oneshot_only = 1; + // Filter created on Databroker side upon Client request. + Filter filter = 2; } } -message SignalCommandRequest { - Command command = 1; +message FilterRequest { + //Databroker sends filters to provider. + //In case provider is down databroker sends local filters stored to continue the provider sending same data with filters + request id= + map filter_update = 1; } -message SignalCommandResponse { - CommandError command_error = 1; +message FilterResponse { + // Datapoint response if filter is oneshot_only -> Provider should store on local database all signal values. + request_id + oneof response { + Datapoint oneshot_only_value = 1; + FilterError filter_error = 2; + } } message OpenProviderStreamRequest { @@ -341,7 +349,7 @@ message OpenProviderStreamRequest { // Inform server of a sensor this provider provides. ProvideSensorRequest provide_sensor_request = 4; // Start/stop response - SignalCommandResponse signal_command_response = 5; + FilterResponse filter_response = 5; } } @@ -355,8 +363,8 @@ message OpenProviderStreamResponse { BatchActuateStreamRequest batch_actuate_stream_request = 3; // Response to a provide sensor request. ProvideSensorResponse provide_sensor_response = 4; - // Start/stop request - SignalCommandRequest signal_command_request = 5; + // Filter request + FilterRequest filter_request = 5; } } From 3dfc8951e943bf6c644e41debe1638697e30ea89 Mon Sep 17 00:00:00 2001 From: Rafael RL Date: Wed, 19 Feb 2025 15:03:24 +0100 Subject: [PATCH 3/7] Add unary call get value and clean up --- proto/kuksa/val/v2/val.proto | 51 ++++++++++++++++++++---------------- 1 file changed, 28 insertions(+), 23 deletions(-) diff --git a/proto/kuksa/val/v2/val.proto b/proto/kuksa/val/v2/val.proto index e8f871fa..6fece1a9 100644 --- a/proto/kuksa/val/v2/val.proto +++ b/proto/kuksa/val/v2/val.proto @@ -185,6 +185,19 @@ service VAL { // rpc OpenProviderStream(stream OpenProviderStreamRequest) returns (stream OpenProviderStreamResponse); + // Get the latest value of a signal + // If the signal exist but does not have a valid value + // a DataPoint where value is None shall be returned. + // + // Returns (GRPC error code): + // NOT_FOUND if the requested signal doesn't exist + // UNAUTHENTICATED if no credentials provided or credentials has expired + // PERMISSION_DENIED if access is denied + // INVALID_ARGUMENT if the request is empty or provided path is too long + // - MAX_REQUEST_PATH_LENGTH: usize = 1000; + // + rpc GetProviderValue(GetValueRequest) returns (GetValueResponse); + // Get server information rpc GetServerInfo(GetServerInfoRequest) returns (GetServerInfoResponse); } @@ -309,32 +322,24 @@ message Filter { int32 duration_ms = 1; // Desired sample rate. SampleRate sample_rate = 2; - should we add time_out in case provider took so long to provider the value? } -message FilterProvider { - oneof state { - // Used for GetValue method - bool oneshot_only = 1; - // Filter created on Databroker side upon Client request. - Filter filter = 2; - } +message UpdateFilterRequest { + // Databroker sends filters to provider. + // In case provider restarts, databroker will send local filters stored + // to continue the provider sending same signals and same filter. + map filters_update = 1; } -message FilterRequest { - //Databroker sends filters to provider. - //In case provider is down databroker sends local filters stored to continue the provider sending same data with filters - request id= - map filter_update = 1; +enum FilterError { + FILTER_ERROR_CODE_UNSPECIFIED = 0; + FILTER_ERROR_CODE_OK = 1; + FILTER_ERROR_CODE_NETWORK_ERROR = 2; + FILTER_ERROR_CODE_OVERLOAD = 3; } -message FilterResponse { - // Datapoint response if filter is oneshot_only -> Provider should store on local database all signal values. - request_id - oneof response { - Datapoint oneshot_only_value = 1; - FilterError filter_error = 2; - } +message UpdateFilterResponse { + FilterError filter_error = 1; } message OpenProviderStreamRequest { @@ -348,8 +353,8 @@ message OpenProviderStreamRequest { BatchActuateStreamResponse batch_actuate_stream_response = 3; // Inform server of a sensor this provider provides. ProvideSensorRequest provide_sensor_request = 4; - // Start/stop response - FilterResponse filter_response = 5; + // Update filter response + UpdateFilterResponse update_filter_response = 5; } } @@ -364,7 +369,7 @@ message OpenProviderStreamResponse { // Response to a provide sensor request. ProvideSensorResponse provide_sensor_response = 4; // Filter request - FilterRequest filter_request = 5; + UpdateFilterRequest update_filter_request = 5; } } From 81f575086f8b0be97c48afe287da31986e2cea94 Mon Sep 17 00:00:00 2001 From: Rafael RL Date: Thu, 20 Feb 2025 16:36:03 +0100 Subject: [PATCH 4/7] Reorganize messages --- proto/kuksa/val/v2/types.proto | 14 ++++++++++++++ proto/kuksa/val/v2/val.proto | 32 ++++++++++++-------------------- 2 files changed, 26 insertions(+), 20 deletions(-) diff --git a/proto/kuksa/val/v2/types.proto b/proto/kuksa/val/v2/types.proto index 58e6b90a..34d71980 100644 --- a/proto/kuksa/val/v2/types.proto +++ b/proto/kuksa/val/v2/types.proto @@ -51,6 +51,20 @@ message SampleRate { int32 value_ms = 1; } +enum FilterError { + FILTER_ERROR_CODE_UNSPECIFIED = 0; + FILTER_ERROR_CODE_OK = 1; + FILTER_ERROR_CODE_NETWORK_ERROR = 2; + FILTER_ERROR_CODE_OVERLOAD = 3; +} + +message Filter { + // Duration of the active call. If it is not set, call will least for ever. + int32 duration_ms = 1; + // Desired sample rate. + SampleRate sample_rate = 2; +} + message SignalID { oneof signal { // Numeric identifier to the signal diff --git a/proto/kuksa/val/v2/val.proto b/proto/kuksa/val/v2/val.proto index 6fece1a9..4d235207 100644 --- a/proto/kuksa/val/v2/val.proto +++ b/proto/kuksa/val/v2/val.proto @@ -31,6 +31,7 @@ service VAL { // PERMISSION_DENIED if access is denied // INVALID_ARGUMENT if the request is empty or provided path is too long // - MAX_REQUEST_PATH_LENGTH: usize = 1000; + // UNAVAILABLE if there is no provider currently providing the signal // rpc GetValue(GetValueRequest) returns (GetValueResponse); @@ -44,6 +45,7 @@ service VAL { // PERMISSION_DENIED if access is denied for any of the requested signals. // INVALID_ARGUMENT if the request is empty or provided path is too long // - MAX_REQUEST_PATH_LENGTH: usize = 1000; + // UNAVAILABLE if there is no provider currently providing the signals // rpc GetValues(GetValuesRequest) returns (GetValuesResponse); @@ -57,6 +59,7 @@ service VAL { // MAX_REQUEST_PATH_LENGTH: usize = 1000; // - if buffer_size exceeds the maximum permitted // MAX_BUFFER_SIZE: usize = 1000; + // UNAVAILABLE if there is no provider currently providing the signal // // When subscribing, Databroker shall immediately return the value for all // subscribed entries. @@ -77,6 +80,7 @@ service VAL { // MAX_REQUEST_PATH_LENGTH: usize = 1000; // - if buffer_size exceeds the maximum permitted // MAX_BUFFER_SIZE: usize = 1000; + // UNAVAILABLE if there is no provider currently providing the signal // // When subscribing, Databroker shall immediately return the value for all // subscribed entries. @@ -131,6 +135,7 @@ service VAL { // NOT_FOUND if the specified root branch does not exist. // UNAUTHENTICATED if no credentials provided or credentials has expired // INVALID_ARGUMENT if the provided path or wildcard is wrong. + // UNAVAILABLE if there is no provider currently providing the signal // rpc ListMetadata(ListMetadataRequest) returns (ListMetadataResponse); @@ -300,11 +305,11 @@ message ProvideActuationRequest { message ProvideActuationResponse { } -message ProvideSensorRequest { +message ProvideSignalRequest { map signals_sample_rates = 1; } -message ProvideSensorResponse { +message ProvideSignalResponse { } message BatchActuateStreamRequest { @@ -317,27 +322,14 @@ message BatchActuateStreamResponse { Error error = 2; } -message Filter { - // Duration of the active call. If it is not set, call will least for ever. - int32 duration_ms = 1; - // Desired sample rate. - SampleRate sample_rate = 2; -} - message UpdateFilterRequest { // Databroker sends filters to provider. // In case provider restarts, databroker will send local filters stored - // to continue the provider sending same signals and same filter. + // to continue the provider sending same signals with same filter. map filters_update = 1; } -enum FilterError { - FILTER_ERROR_CODE_UNSPECIFIED = 0; - FILTER_ERROR_CODE_OK = 1; - FILTER_ERROR_CODE_NETWORK_ERROR = 2; - FILTER_ERROR_CODE_OVERLOAD = 3; -} - +// Only returned if there is a filter error on provider side message UpdateFilterResponse { FilterError filter_error = 1; } @@ -351,8 +343,8 @@ message OpenProviderStreamRequest { // Sent to acknowledge the acceptance of a batch actuate // request. BatchActuateStreamResponse batch_actuate_stream_response = 3; - // Inform server of a sensor this provider provides. - ProvideSensorRequest provide_sensor_request = 4; + // Inform server of a signal this provider provides. + ProvideSignalRequest provide_signal_request = 4; // Update filter response UpdateFilterResponse update_filter_response = 5; } @@ -367,7 +359,7 @@ message OpenProviderStreamResponse { // Send a batch actuate request to a provider. BatchActuateStreamRequest batch_actuate_stream_request = 3; // Response to a provide sensor request. - ProvideSensorResponse provide_sensor_response = 4; + ProvideSignalResponse provide_signal_response = 4; // Filter request UpdateFilterRequest update_filter_request = 5; } From 2efbbd8de08552b2a4f1a367762a49a5146b1a5e Mon Sep 17 00:00:00 2001 From: Rafael RL Date: Wed, 26 Feb 2025 10:19:59 +0100 Subject: [PATCH 5/7] Introduce max sample interval and bidi get value --- proto/kuksa/val/v2/types.proto | 10 +++++----- proto/kuksa/val/v2/val.proto | 29 +++++++++++++++-------------- 2 files changed, 20 insertions(+), 19 deletions(-) diff --git a/proto/kuksa/val/v2/types.proto b/proto/kuksa/val/v2/types.proto index 34d71980..cdcc679c 100644 --- a/proto/kuksa/val/v2/types.proto +++ b/proto/kuksa/val/v2/types.proto @@ -47,8 +47,8 @@ message Value { } } -message SampleRate { - int32 value_ms = 1; +message SampleInterval { + int32 max_interval_ms = 1; } enum FilterError { @@ -60,9 +60,9 @@ enum FilterError { message Filter { // Duration of the active call. If it is not set, call will least for ever. - int32 duration_ms = 1; - // Desired sample rate. - SampleRate sample_rate = 2; + int32 duration_ms = 1; + // Max desired sample update interval. + SampleInterval max_sample_interval = 2; } message SignalID { diff --git a/proto/kuksa/val/v2/val.proto b/proto/kuksa/val/v2/val.proto index 4d235207..2e885f30 100644 --- a/proto/kuksa/val/v2/val.proto +++ b/proto/kuksa/val/v2/val.proto @@ -190,19 +190,6 @@ service VAL { // rpc OpenProviderStream(stream OpenProviderStreamRequest) returns (stream OpenProviderStreamResponse); - // Get the latest value of a signal - // If the signal exist but does not have a valid value - // a DataPoint where value is None shall be returned. - // - // Returns (GRPC error code): - // NOT_FOUND if the requested signal doesn't exist - // UNAUTHENTICATED if no credentials provided or credentials has expired - // PERMISSION_DENIED if access is denied - // INVALID_ARGUMENT if the request is empty or provided path is too long - // - MAX_REQUEST_PATH_LENGTH: usize = 1000; - // - rpc GetProviderValue(GetValueRequest) returns (GetValueResponse); - // Get server information rpc GetServerInfo(GetServerInfoRequest) returns (GetServerInfoResponse); } @@ -306,7 +293,7 @@ message ProvideActuationResponse { } message ProvideSignalRequest { - map signals_sample_rates = 1; + map signals_sample_intervals = 1; } message ProvideSignalResponse { @@ -334,6 +321,16 @@ message UpdateFilterResponse { FilterError filter_error = 1; } +message GetValueStreamRequest { + uint64 request_it = 1; /// Unique request id for the stream that can be used to identify the request. + GetValueRequest request = 2; +} + +message GetValueStreamResponse { + uint64 request_it = 1; /// Unique request id for the stream that can be used to identify the response. + GetValueResponse response = 2; +} + message OpenProviderStreamRequest { oneof action { // Inform server of an actuator this provider provides. @@ -347,6 +344,8 @@ message OpenProviderStreamRequest { ProvideSignalRequest provide_signal_request = 4; // Update filter response UpdateFilterResponse update_filter_response = 5; + // GetValue response + GetValueStreamResponse get_value_stream_response = 6; } } @@ -362,6 +361,8 @@ message OpenProviderStreamResponse { ProvideSignalResponse provide_signal_response = 4; // Filter request UpdateFilterRequest update_filter_request = 5; + // GetValue request from client forwarded to provider + GetValueStreamRequest get_value_stream_request = 6; } } From c506ebe8df1ef10667ddc603b6c72746d4ac27d2 Mon Sep 17 00:00:00 2001 From: Rafael RL Date: Wed, 26 Feb 2025 10:27:53 +0100 Subject: [PATCH 6/7] Clean up code --- proto/kuksa/val/v2/types.proto | 4 ++-- proto/kuksa/val/v2/val.proto | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/proto/kuksa/val/v2/types.proto b/proto/kuksa/val/v2/types.proto index cdcc679c..b59befe7 100644 --- a/proto/kuksa/val/v2/types.proto +++ b/proto/kuksa/val/v2/types.proto @@ -139,8 +139,8 @@ message Metadata { Value min = 18; Value max = 19; - // Sample rate at which its provider will publish the signal value.bool - SampleRate sample_rate = 20; + // Maximum sample interval at which its provider will publish the signal value + SampleInterval sample_interval = 20; } // VSS Data type of a signal diff --git a/proto/kuksa/val/v2/val.proto b/proto/kuksa/val/v2/val.proto index 2e885f30..24f292ad 100644 --- a/proto/kuksa/val/v2/val.proto +++ b/proto/kuksa/val/v2/val.proto @@ -135,7 +135,7 @@ service VAL { // NOT_FOUND if the specified root branch does not exist. // UNAUTHENTICATED if no credentials provided or credentials has expired // INVALID_ARGUMENT if the provided path or wildcard is wrong. - // UNAVAILABLE if there is no provider currently providing the signal + // UNAVAILABLE if there is no provider currently providing the signal -> do we want this error for list metadata? // rpc ListMetadata(ListMetadataRequest) returns (ListMetadataResponse); From 3c2e4ff49e2b49cd22b308bc31533465faf0ddc7 Mon Sep 17 00:00:00 2001 From: Rafael RL Date: Thu, 27 Feb 2025 17:20:02 +0100 Subject: [PATCH 7/7] Corrections after review --- proto/kuksa/val/v2/types.proto | 30 ++++++++++++------------------ proto/kuksa/val/v2/val.proto | 20 ++++++++------------ 2 files changed, 20 insertions(+), 30 deletions(-) diff --git a/proto/kuksa/val/v2/types.proto b/proto/kuksa/val/v2/types.proto index b59befe7..e48170f5 100644 --- a/proto/kuksa/val/v2/types.proto +++ b/proto/kuksa/val/v2/types.proto @@ -48,21 +48,22 @@ message Value { } message SampleInterval { - int32 max_interval_ms = 1; + uint32 interval_ms = 1; } enum FilterError { - FILTER_ERROR_CODE_UNSPECIFIED = 0; - FILTER_ERROR_CODE_OK = 1; - FILTER_ERROR_CODE_NETWORK_ERROR = 2; - FILTER_ERROR_CODE_OVERLOAD = 3; + FILTER_ERROR_CODE_UNSPECIFIED = 0; + FILTER_ERROR_CODE_OK = 1; + FILTER_ERROR_CODE_NETWORK_ERROR = 2; + FILTER_ERROR_CODE_OVERLOAD = 3; + FILTER_ERROR_CODE_UNKNOW_SINGAL_ID = 4; } message Filter { - // Duration of the active call. If it is not set, call will least for ever. - int32 duration_ms = 1; - // Max desired sample update interval. - SampleInterval max_sample_interval = 2; + // Duration of the active call. If it is not set, call will last for ever. + uint32 duration_ms = 1; + // Min desired sample update interval. + SampleInterval min_sample_interval = 2; } message SignalID { @@ -92,13 +93,6 @@ enum ErrorCode { ERROR_CODE_PERMISSION_DENIED = 4; } -enum CommandError { - COMMAND_ERROR_CODE_UNSPECIFIED = 0; // Default value, never to be explicitly set, - COMMAND_ERROR_CODE_OK = 1; - COMMAND_ERROR_CODE_NETWORK_ERROR = 2; - COMMAND_ERROR_CODE_OVERLOAD = 3; -} - message Metadata { // Full dot notated path for the signal @@ -139,8 +133,8 @@ message Metadata { Value min = 18; Value max = 19; - // Maximum sample interval at which its provider will publish the signal value - SampleInterval sample_interval = 20; + // Minimum sample interval at which its provider will publish the signal value + SampleInterval min_sample_interval = 20; } // VSS Data type of a signal diff --git a/proto/kuksa/val/v2/val.proto b/proto/kuksa/val/v2/val.proto index 24f292ad..6139e333 100644 --- a/proto/kuksa/val/v2/val.proto +++ b/proto/kuksa/val/v2/val.proto @@ -31,7 +31,6 @@ service VAL { // PERMISSION_DENIED if access is denied // INVALID_ARGUMENT if the request is empty or provided path is too long // - MAX_REQUEST_PATH_LENGTH: usize = 1000; - // UNAVAILABLE if there is no provider currently providing the signal // rpc GetValue(GetValueRequest) returns (GetValueResponse); @@ -45,7 +44,6 @@ service VAL { // PERMISSION_DENIED if access is denied for any of the requested signals. // INVALID_ARGUMENT if the request is empty or provided path is too long // - MAX_REQUEST_PATH_LENGTH: usize = 1000; - // UNAVAILABLE if there is no provider currently providing the signals // rpc GetValues(GetValuesRequest) returns (GetValuesResponse); @@ -59,7 +57,6 @@ service VAL { // MAX_REQUEST_PATH_LENGTH: usize = 1000; // - if buffer_size exceeds the maximum permitted // MAX_BUFFER_SIZE: usize = 1000; - // UNAVAILABLE if there is no provider currently providing the signal // // When subscribing, Databroker shall immediately return the value for all // subscribed entries. @@ -80,7 +77,6 @@ service VAL { // MAX_REQUEST_PATH_LENGTH: usize = 1000; // - if buffer_size exceeds the maximum permitted // MAX_BUFFER_SIZE: usize = 1000; - // UNAVAILABLE if there is no provider currently providing the signal // // When subscribing, Databroker shall immediately return the value for all // subscribed entries. @@ -276,12 +272,12 @@ message PublishValueRequest { } message PublishValuesRequest { - uint64 request_it = 1; /// Unique request id for the stream that can be used to identify the command. + uint64 request_id = 1; /// Unique request id for the stream that can be used to match the corresponding response. map data_points = 2; } message PublishValuesResponse { - uint64 request_id = 1; + uint64 request_id = 1; /// Unique request id for the stream that can be used to match the corresponding request. map status = 2; } @@ -321,13 +317,13 @@ message UpdateFilterResponse { FilterError filter_error = 1; } -message GetValueStreamRequest { - uint64 request_it = 1; /// Unique request id for the stream that can be used to identify the request. +message GetProviderValueRequest { + uint64 request_id = 1; /// Unique request id for the stream that can be used to match the corresponding response. GetValueRequest request = 2; } -message GetValueStreamResponse { - uint64 request_it = 1; /// Unique request id for the stream that can be used to identify the response. +message GetProviderValueResponse { + uint64 request_id = 1; /// Unique request id for the stream that can be used to match the corresponding request. GetValueResponse response = 2; } @@ -345,7 +341,7 @@ message OpenProviderStreamRequest { // Update filter response UpdateFilterResponse update_filter_response = 5; // GetValue response - GetValueStreamResponse get_value_stream_response = 6; + GetProviderValueResponse get_provider_value_response = 6; } } @@ -362,7 +358,7 @@ message OpenProviderStreamResponse { // Filter request UpdateFilterRequest update_filter_request = 5; // GetValue request from client forwarded to provider - GetValueStreamRequest get_value_stream_request = 6; + GetProviderValueRequest get_provider_value_request = 6; } }