|
Distributed Publish Subscribe for IoT
|
This section descbribes the DPS message protocol encodings. DPS messages are encoded in CBOR.
DPS has four messages types.
These are types common across the various message types.
UUIDs identify publications and are also used as key identifiers for encrypted messages.
Bits vectors are usually run-length encoded unless the raw unencoded bit vector is more compact than the rle-encoded representation. The rle-encoded flag indicates if the bit vector is encoded or raw.
The rle-complement flags indicates if the complement of the bit vector was was encoded. The bit vector complement is encoded if this results in a more compact encoding. This flag is only useful with run-length encoding.
The bit vector encoding includes control flags, the bit vector length expressed in bits and the raw or run-length encoded bit vector data.
### Subscription flags
For compactness the member keys are encoded as integers as listed below.
The encoding of a publication.
The encoding of a subscription.
The encoding of an acknowledgement message.
The encoding of a subscription acknowledgement message.