Get desktop application:
View/edit binary Protocol Buffers messages
Actuate a single actuator Returns (GRPC error code): NOT_FOUND if the actuator does not exist. PERMISSION_DENIED if access is denied for the actuator. UNAUTHENTICATED if no credentials provided or credentials has expired UNAVAILABLE if there is no provider currently providing the actuator DATA_LOSS is there is a internal TransmissionFailure INVALID_ARGUMENT - if the provided path is not an actuator. - if the data type used in the request does not match the data type of the addressed signal - if the requested value is not accepted, e.g. if sending an unsupported enum value - if the provided value is out of the min/max range specified
Actuate a single actuator in a gRPC stream -> Use for low latency and high throughput Returns (GRPC error code): NOT_FOUND if the actuator does not exist. PERMISSION_DENIED if access is denied for the actuator. UNAUTHENTICATED if no credentials provided or credentials has expired UNAVAILABLE if there is no provider currently providing the actuator DATA_LOSS is there is a internal TransmissionFailure INVALID_ARGUMENT - if the provided path is not an actuator. - if the data type used in the request does not match the data type of the addressed signal - if the requested value is not accepted, e.g. if sending an unsupported enum value - if the provided value is out of the min/max range specified
Actuate simultaneously multiple actuators. If any error occurs, the entire operation will be aborted and no single actuator value will be forwarded to the provider. Returns (GRPC error code): NOT_FOUND if any of the actuators are non-existant. PERMISSION_DENIED if access is denied for any of the actuators. UNAUTHENTICATED if no credentials provided or credentials has expired UNAVAILABLE if there is no provider currently providing an actuator DATA_LOSS is there is a internal TransmissionFailure INVALID_ARGUMENT - if any of the provided path is not an actuator. - if the data type used in the request does not match the data type of the addressed signal - if the requested value is not accepted, e.g. if sending an unsupported enum value - if any of the provided actuators values are out of the min/max range specified
(message has no fields)
Get server information
Nothing yet
(message has no fields)
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;
Get the latest values of a set of signals. The returned list of data points has the same order as the list of the request. If a requested signal has no value a DataPoint where value is None will be returned. Returns (GRPC error code): NOT_FOUND if any of the requested signals doesn't exist. UNAUTHENTICATED if no credentials provided or credentials has expired 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;
List metadata of signals matching the request. Returns (GRPC error code): 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.
Root path to be used when listing metadata Shall correspond to a VSS branch, e.g. "Vehicle", "Vehicle.Cabin" Metadata for all signals under that branch will be returned unless filtered by filter. NOTE: Currently Databroker supports also signals and wildcards in root but that may be removed in a future release!
NOTE : Currently not considered by Databroker, all signals matching root are returned
Open a stream used to provide actuation and/or publishing values using a streaming interface. Used to provide actuators and to enable high frequency updates of values. The open stream is used for request / response type communication between the provider and server (where the initiator of a request can vary). Errors: - Provider sends ProvideActuationRequest -> Databroker returns ProvideActuationResponse - strict case Returns (GRPC error code) and closes the stream call NOT_FOUND if any of the signals are non-existant. PERMISSION_DENIED if access is denied for any of the signals. UNAUTHENTICATED if no credentials provided or credentials has expired ALREADY_EXISTS if a provider already claimed the ownership of an actuator - Provider sends PublishValuesRequest -> Databroker returns PublishValuesResponse upon error, and nothing upon success - permissive case GRPC errors are returned as messages in the stream response with the signal id `map<int32, Error> status = 2;` NOT_FOUND if a signal is non-existant. PERMISSION_DENIED - if access is denied for a signal. INVALID_ARGUMENT - if the data type used in the request does not match the data type of the addressed signal - if the published value is not accepted, e.g. if sending an unsupported enum value - if the published value is out of the min/max range specified - strict case Returns (GRPC error code) and closes the stream call. ALREADY_EXISTS if a provider already claimed the ownership of the signals ABORTED if provider has not claimed yet the signals - Databroker sends BatchActuateStreamRequest -> Provider shall return a BatchActuateStreamResponse, for every signal requested to indicate if the request was accepted or not. It is up to the provider to decide if the stream shall be closed, as of today Databroker will not react on the received error message. - Provider sends ProvideSignalRequest -> Databroker returns ProvideSignalResponse - strict case Returns (GRPC error code) and closes the stream call. NOT_FOUND if any of the signals are non-existant. PERMISSION_DENIED if access is denied for any of the signals. UNAUTHENTICATED if no credentials provided or credentials has expired ALREADY_EXISTS if a provider already claimed the ownership of any signal. - Provider sends ProviderErrorIndication - strict case Returns (GRPC error code) and closes the stream call. ABORTED if provider has not claimed yet the signals
Inform server of an actuator this provider provides.
Publish a value.
Sent to acknowledge the acceptance of a batch actuate request.
Inform server of a signal this provider provides.
Update filter response
GetValue response
Indication of error on provider side
Response to a provide actuator request.
Acknowledgement that a published value was received.
Send a batch actuate request to a provider.
Response to a provide sensor request.
Filter request
GetValue request from client forwarded to provider
Publish a signal value. Used for low frequency signals (e.g. attributes). Returns (GRPC error code): NOT_FOUND if any of the signals are non-existant. PERMISSION_DENIED - if access is denied for any of the signals. UNAUTHENTICATED if no credentials provided or credentials has expired INVALID_ARGUMENT - if the data type used in the request does not match the data type of the addressed signal - if the published value is not accepted, e.g. if sending an unsupported enum value - if the published value is out of the min/max range specified
(message has no fields)
Subscribe to a set of signals using string path parameters Returns (GRPC error code): NOT_FOUND if any of the signals are non-existant. UNAUTHENTICATED if no credentials provided or credentials has expired PERMISSION_DENIED if access is denied for any of the signals. INVALID_ARGUMENT - if the request is empty or provided path is too long MAX_REQUEST_PATH_LENGTH: usize = 1000; - if buffer_size exceeds the maximum permitted MAX_BUFFER_SIZE: usize = 1000; When subscribing, Databroker shall immediately return the value for all subscribed entries. If a value isn't available when subscribing to a it, it should return None If a subscriber is slow to consume signals, messages will be buffered up to the specified buffer_size before the oldest messages are dropped.
Specifies the number of messages that can be buffered for slow subscribers before the oldest messages are dropped. Default (0) results in that only latest message is kept. Maximum value supported is implementation dependent.
Subscribe to a set of signals using i32 id parameters Returns (GRPC error code): NOT_FOUND if any of the signals are non-existant. UNAUTHENTICATED if no credentials provided or credentials has expired PERMISSION_DENIED if access is denied for any of the signals. INVALID_ARGUMENT - if the request is empty or provided path is too long MAX_REQUEST_PATH_LENGTH: usize = 1000; - if buffer_size exceeds the maximum permitted MAX_BUFFER_SIZE: usize = 1000; When subscribing, Databroker shall immediately return the value for all subscribed entries. If a value isn't available when subscribing to a it, it should return None If a subscriber is slow to consume signals, messages will be buffered up to the specified buffer_size before the oldest messages are dropped.
Specifies the number of messages that can be buffered for slow subscribers before the oldest messages are dropped. Default (0) results in that only latest message is kept. Maximum value supported is implementation dependent.
Used as request type in: VAL.Actuate, VAL.ActuateStream
Used as field type in: ,
Used as response type in: VAL.Actuate, VAL.ActuateStream
(message has no fields)
Used in:
Message that shall be used by provider to indicate if an actuation request was accepted.
Used in:
Used in:
VSS Data type of a signal Protobuf doesn't support int8, int16, uint8 or uint16. These are mapped to int32 and uint32 respectively.
Used in:
A Datapoint represents a timestamped value. The 'value' field can be explicitly 'None', meaning the Datapoint exists but no value is present.
Used in: , , , , , ,
The timestamp of the datapoint.
The value associated with the timestamp. If no value is present, this field can be 'None'.
Used in:
Entry type
Used in:
Used in: ,
Used in:
Default value, never to be explicitly set,
Used in: , ,
Duration of the active call. If it is not set, call will last for ever.
Min desired sample update interval.
Used in:
Used in:
Used in:
/ Unique request id for the stream that can be used to match the corresponding response.
Used in:
/ Unique request id for the stream that can be used to match the corresponding request.
Used in:
Used in:
Used in:
Full dot notated path for the signal
ID field
Data type The VSS data type of the entry (i.e. the value, min, max etc). NOTE: protobuf doesn't have int8, int16, uint8 or uint16 which means that these values must be serialized as int32 and uint32 respectively.
Entry type
Description Describes the meaning and content of the entry.
Comment A comment can be used to provide additional informal information on a entry.
Deprecation Whether this entry is deprecated. Can contain recommendations of what to use instead.
Unit The unit of measurement
Value restrictions checked/enforced by Databroker
Must be of array type
Minimum sample interval at which its provider can publish the signal value
Used in:
Used in:
(message has no fields)
Used in:
Used in:
(message has no fields)
Could be extended in the future with more errors
Used in:
Send to indicate an error on provider side
Used in:
Used in:
/ Unique request id for the stream that can be used to match the corresponding response.
Used in:
/ Unique request id for the stream that can be used to match the corresponding request.
Used in: , ,
Used in: , , , , ,
Numeric identifier to the signal As of today Databroker assigns arbitrary unique numbers to each registered signal at startup, meaning that identifiers may change after restarting Databroker. A mechanism for static identifiers may be introduced in the future.
Full VSS-style path to a specific signal, like "Vehicle.Speed" Wildcards and paths to branches are not supported. The given path must be known by the Databroker.
Used in:
Used in:
Used in:
Used in:
/ Unique request id for the stream that can be used to match the corresponding response.
Databroker sends filters to provider. In case provider restarts, databroker will send local filters stored to continue the provider sending same signals with same filter. Filter value could be None, meaning all subscriptions were removed for that SignalId
Only returned if there is a filter error on provider side
Used in:
/ Unique request id for the stream that can be used to match the corresponding request.
Used in: , ,