|
|
In Labcomm version 2014, support is added for attaching metadata to Labcomm types.
|
|
|
In Labcomm version 2014, support is added for attaching pragmas (previously called metadata) to Labcomm types.
|
|
|
|
|
|
Metadata is transmitted as a separate packet type (0x03). The header contains
|
|
|
A pragma is transmitted as a separate packet. In LabComm2014, the header contains
|
|
|
a length field (to allow uninterested nodes to simply skip the
|
|
|
entire metadata packet, and to make it possible to recover from unhandled metadata
|
|
|
samples), and a reference to the labcomm type the metadata packet is associated with (or null, if
|
|
|
entire packet, and to make it possible to recover from unhandled pragma
|
|
|
samples), and a reference to the labcomm type the pragma packet is associated with (or null, if
|
|
|
no association).
|
|
|
|
|
|
The body of a metadata packet is a stream of labcomm packets.
|
|
|
The body of a pragma packet is a stream of labcomm packets.
|
|
|
|
|
|
The metadata packet layout is:
|
|
|
The pragmaa packet layout is:
|
|
|
```
|
|
|
# METADATA
|
|
|
#
|
|
|
# +----+----+----+----+
|
|
|
# | id = 0x03
|
|
|
# | id = TBD
|
|
|
# +----+----+----+----+
|
|
|
# | length (in bytes) (length of the remainder of the packet, incl typeref field)
|
|
|
# +----+----+----+----+
|
|
|
# | data type ref (the sample type_id this metadata packet is associated with)
|
|
|
# | length (in bytes) (length of the remainder of the packet)
|
|
|
# +----+----+----+----+
|
|
|
# | 1 or more labcomm |
|
|
|
# | packets...
|
... | ... | |