C++: Allow Access to CDTP BOR & EOR Tags
...but remove access to run metadata for transmitter satellites. This is an attempt to solve some open issues leftover in #124. We need a clear definition of what information goes where, and I try to come up with a clear setup which provides maximal flexibility to the user.
My rationale is:
- Both BOR and EOR should allow for the transport of user information in the form of header tags. This has been discussed before, and having tags also in the BOR could e.g. prevent leaving undecodeable data because of missing metadata when the satellite is interrupted or simply dies.
- There is additional information being generated by the framework, and we would ensure that this does not collide with user-provided information. Providing access to the same dictionary would harbor the possibility of overwriting tags.
The structure I propose here is: Header is for user, payload is for framework, which means:
- BOR Header tags: user-provided metadata tags
- BOR Payload: framework-provided configuration object
- EOR Header tags: user-provided metadata tags
- EOR Payload: framework-generated dictionary with internal metadata (transmitted bytes, run ID, timestamp of end, ...)
This MR implements this for C++.