Module iext

Module iext 

Source
Expand description

§Zenoh extensions

A zenoh extension is encoded as TLV (Type, Length, Value). Zenoh extensions with unknown IDs (i.e., type) can be skipped by reading the length and not decoding the body (i.e. value). In case the zenoh extension is unknown, it is still possible to forward it to the next hops, which in turn may be able to understand it. This results in the capability of introducing new extensions in an already running system without requiring the redeployment of the totality of infrastructure nodes.

The zenoh extension wire format is the following:

Header flags:
- E |: Encoding     The encoding of the extension
- E/
- Z: More           If Z==1 then another extension will follow.

 7 6 5 4 3 2 1 0
+-+-+-+-+-+-+-+-+
|Z|ENC|M|   ID  |
+-+---+-+-------+
%    length     % -- If ENC == Z64 || ENC == ZBuf (z32)
+---------------+
~     [u8]      ~ -- If ENC == ZBuf
+---------------+

Encoding:
- 0b00: Unit
- 0b01: Z64
- 0b10: ZBuf
- 0b11: Reserved

(*) If the zenoh extension is not understood, then it SHOULD NOT be dropped and it
    SHOULD be forwarded to the next hops.

Constants§

ENC_MASK
ENC_UNIT
ENC_Z64
ENC_ZBUF
FLAG_M
FLAG_Z
ID_BITS
ID_MASK

Functions§

eid
mid