The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in IETF BCP14 (RFC2119 & RFC8174)
SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation See the NOTICE file(s) distributed with this work for additional information regarding copyright ownership. This program and the accompanying materials are made available under the terms of the Apache License Version 2.0 which is available at https://www.apache.org/licenses/LICENSE-2.0 SPDX-FileType: DOCUMENTATION SPDX-License-Identifier: Apache-2.0
uProtocol allows messages to be exchanged between uEntities on the same and/or different devices. The network bandwidth and/or CPU cycles available for performing this task may be limited, though. uProtocol therefore supports priority based message processing at the Transport and Communication Layer based on RFC4594 - Configuration Guidelines for DiffServ Service Classes.
For this purpose, each UMessage is assigned to exactly one of the following classes:
| Class | Description | Typical Use Case |
|---|---|---|
CS0 |
Low Priority. No bandwidth assurance |
Bulk data transfer |
CS1 |
Default priority |
Generic, non-specific application level events |
CS2 |
Operations, Administration, and Management |
uSubscription messages (subscribe, etc.) |
CS3 |
Multimedia streaming |
Audio/Video frames |
CS4 |
Real-time interactive |
High priority (RPC messages) |
CS5 |
Important |
Signaling |
CS6 |
Safety Critical |
Network control |
A UMessage MAY be assigned explicitly to a service class by setting the message’s priority property to the desired value. If the property is not set, the UMessage belongs to class CS1 by default.
|
Note
|
The actual handling of message priority is implementation specific and may depend on the capabilities of the underlying transport protocol. Some transports may not support priority handling at all. |
|
Note
|
The example use cases provided above are intended as guidelines only. uEntities may choose to deviate from these guidelines based on specific application requirements. |