eclipse-iceoryx / eclipse-iceoryx/iceoryx
Curated list of known user-header
- Dominant language
- C++
- Stars
- 2.2k
- Forks
- 492
- Avg merge
- 18h 57m
- Merged PRs (30d)
- 1
Description
## Brief feature description
With the user-header from #14 it is now possible to add custom meta information alongside the user-payload. While this makes some functionality easier, it has some drawbacks for the record and replay functionality since there is now some opaque data which might need some adjustment before the replay, e.g. a timestamp. A curated list of known user-header will help the creator of record & replay tools to shed some light on the data contained in the user-header.
## Detailed information
Similar to `IANA` which has a [curated list of ports](https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml), iceoryx could do the same for user-header. Currently there is a field with 16 bit for a user-header ID which 0x0000 representing no user-header and 0xFFFF an unknown user-header. The range from 0x0001 to 0xBFFF could be used to assigned on request. This user-header would need to be public. The range from 0xC000 to 0xFFFE could be used by anyone but with the risk of ID collisions and 3rd party tools not being able to handle those IDs correctly.
It has to be figured out how this ID can be set in a sane way. With the typed C++ API this could be a constexpr like `USER_HEADER_ID` in the struct, but the untyped C++ and C API need a different mechanism to set the ID.
Contributor guide
Assessment
This issue has not been assessed yet.