Get desktop application:
View/edit binary Protocol Buffers messages
UDiscovery Replicator is a set of APIs that are used internal to UDiscovery to populate and replicate information in the uDiscovery database. This API is for internal (to UDiscovery service) use only and not accessible for client uEntities to use.
Add, update, or remove one or more UServiceTopic from the Udiscovery database. This API is used to add, update, or remove UServiceTopic information and is called from between UDiscovery services (ex. local to domain, domain to central, etc..). To remove a topic, simply set the ttl in SetServiceTopicsRequest to be 0. The API returns a SetServiceTopicsResponse when the operation was successful, or it will return an error (the method invocation fails) with one of the following reasons: UCode.INVALID_ARGUMENT - The URI passed is invalid UCode.PERMISSION_DENIED - The caller is not permissed to set the UServiceTopics for that service.
Request message for SetServiceTopics that contains a repeated list of service topic metadata
The topics to add (update) in the database.
How long the topic metadata (in seconds) is valid for from the moment the API is called. If the metadata has expired, the UDiscovery service that received this data must flush the ServiceTopic info. If the field is missed, the ServiceTopicInfo is valid forever. If the field is set to 0, the ServiceTopicInfo should be removed from the database immediately.
Empty message returned from SetServiceTopics when the command returned successfully
(message has no fields)
Client facing APIs to the uProtocol Discovery Service. The uDiscovery service is used to store information about devices and services namely their addresses (in URI format), and properties of topics. This API is used by clients (uEntities) to access the information within the database. Clients talk to their local uDiscovery service which, if unable to find what it is looking for, queries the central database to find the information. The UDiscovery service instances form a hierarchy where the local uDiscovery service is the first point of contact and the domain level service (for information about devices within a domain), and then central service is the last point of contact. NOTE: the internal uDiscovery communication protocol (for how data is replicated between the local, domain, and central) is NOT covered in this interface as this is ONLY the client APIs.
Find Services. Discover authorities, instances, and versions of services based on the passed URI.
The URI containing the service that we would like to find.
The Uri to look up
Recursively search up to the root node of the uDiscovery tree
Return value from FindService API that contains a batch of all services that match the search criteria
Batch of URIs
Get information about one or more topics that is being served by a service The API is used to fetch metadata about one or more topics (depending on what is passed in the UUri). Wildcard ue_id and/or resource_id can be used to fetch multiple metadata for multiple topics. The UServiceTopic stores topic metadata such as the permission level, message name, payload format (how the message is encoded) and more.
Request to get information about a topic Example might be to get information about a specific topic, all topics for a service (using wildcard resource_id), or all topics for all services for a given device (using wildcard ue_id and resource_id)
The URI of the topics that we would like to query.
Recursively search up to the root node of the uDiscovery tree
Response to GetTopicInfoRequest
Message that stores the metadata about a topic and the topic URI so it can be passed back in GetServiceTopicsResponse.
Used in: ,
The URI of the topic
The topic metadata
How long the topic metadata is valid for in seconds. If the metadata is older than this value, the client SHOULD re-fetch the metadata. Metadata lives forever if the value is 0 (default).