Get desktop application:
View/edit binary Protocol Buffers messages
File Checksum
Used in:
Type of Checksum
The checksum value
Checksum type
Used in:
Unspecified
MD5SUM
SHA1SUM
File Message Files can be attached to uProtocol in the headers
Used in:
RFC8089 formatted filename URI
File size attribute
Optional file checksum
Collection of Files (batch)
Repeated list of 0 to n attached files
Metadata describing a particular message's purpose, content and processing requirements. Each type of message is described by a set of mandatory and optional attributes.
Used in:
A unique message identifier.
This message's type which also indicates its purpose and determines contraints on the other properties.
The origin (address) of this message.
The destination (address) of this message.
The QoS level that this message should be processed/delivered with.
The amount of time (in milliseconds) after which this message MUST NOT be delivered/processed anymore.
The service consumer's permission level.
A UCode indicating an error that has occurred during the delivery of either an RPC Request or Response message.
The identifier that a service consumer can use to correlate an RPC Repsonse message with its RPC Request.
The service consumer's access token.
A tracing identifier to use for correlating messages across the system. Intended to be compatible with https://github.com/cloudevents/spec/blob/main/cloudevents/extensions/distributed-tracing.md
The format for the data stored in the UMessage.
Canonical Error codes for uProtocol APIs
Used in: ,
Completes successfully
Operation has been cancelled by the caller
An unknown (but not critical) error has occurred
Passed arguments are invalid (ex. improperly formatted)
Operation has expired (timeout)
Operation cannot be completed because the requested entity was not found (ex. database lookup and the data is not found) Calling uEntity *MAY* retry the operation with back-off
The calling uEntity requested to add/create something that already exists (ex. add to a database something that is already there)
The calling uEntity is authenticated but not permitted to call the API
The calling uEntity does not have valid authentication credentials for the API
The resource being accessed has been exhausted (ex. out of disk space, etc...)
The system (service) is in a state that it cannot handle the request Calling uEntities *SHOULD NOT* retry till the system state has been corrected
The operation was aborted, typically due to a concurrency issue such as a sequencer check failure or transaction abort Calling uEntities *MAY* retry but at a higher frequency than UNAVAILABLE
A caller would typically iterating through the results from said API and can is expected to detect the end of the results (out of range)
Part or all of the requested operation has not been implemented yet
A serious internal error has not described by a known error code
The operation is currently unavailable Calling uEntities *MAY* retry with back-off
When an unrecoverable data loss or corruption has occurred
UMessage is the top-level message type for the uProtocol. It contains a header (UAttributes), and payload and is a way of representing a message that would be sent between two uEntities.
Used in:
uProtocol mandatory and optional attributes
Optional message payload
uProtocol defines different types of messages. Using the message type, validation can be performed to ensure transport validity of the data in the {@link UAttributes}. The "up-" prefix used in the uprotocol.ce_name options has been introduced to allow distinguishing between existing CloudEvents being exchanged by legacy systems using a predecessor of Eclipse uProtocol and CloudEvents conforming to the mapping rules defined in the Eclipse uProtocol specification.
Used in:
Unspecified message type
Publish A message that is used to notify all interested consumers of an event that has occurred.
RPC Request A message that is used by a service consumer to invoke one of a service provider's methods with some input data, expecting the service provider to reply with a response message.
RPC Response A message that is used by a service provider to send the outcome of processing a request message from a servcice consumer.
Notification A message that is used to inform a specific consumer about an event that has occurred.
The format for the data stored in the UMessage.
Used in:
Payload format is unknown.
Payload is an Any protobuf message that contains the packed payload
Protobuf serialization format
JSON serialization format
Basic SOME/IP serialization format
SOME/IP TLV format
RAW (binary) format
Text format
Shared memory format
Message priority levels.
Used in:
Unspecified priority
Low Priority. No bandwidth assurance such as File Transfer.
Standard, undifferentiated application such as General (unclassified).
Operations, Administration, and Management such as Streamer messages (sub, connect, etc…)
Multimedia streaming such as Video Streaming
Real-time interactive such as High priority (rpc events)
Signaling such as Important
Network control such as Safety Critical
uProtocol Error model for all uProtocol APIs that is loosly based off google.rpc.Status
Used in:
The status code.
A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the details field, or localized by the client.
A list of messages that carry the error details. There is a common set of message types for APIs to use.
The UUID datamodel per https://www.rfc-editor.org/rfc/rfc9562[RFC 9562]
Used in:
Most significant bits
Least significant bits
Data model definition for source and destination addressing of messages sent to/from devices, services, methods, topics, etc...
Used in: , , , , , , , , , , , , , ,
Authority Name. Could be the host name, ip address, device & domain names, etc..
Software Entity (uEntity) Identifiers.
Software Entity (uEntity) major version number.
uEntity resource id. Identifier used to represent either a method, publish topic, or notification topic.
List of URIs that can be used for batching APIs.
Used in: ,