Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Add encode/decode hooks for TBL services load/dump routines #2521

Open
jphickey opened this issue Feb 27, 2024 · 0 comments
Open

Add encode/decode hooks for TBL services load/dump routines #2521

jphickey opened this issue Feb 27, 2024 · 0 comments
Assignees

Comments

@jphickey
Copy link
Contributor

Is your feature request related to a problem? Please describe.
Currently, TBL services assumes that the in-memory content of a table structure is identical to the on-disk content of a table file.

However, tables are in many ways analogous to messages, where they are a form of inter-process communication. C structures are not a well-defined data format, they are platform-specific.

Describe the solution you'd like
Data structures in tables should be a well-defined data format, like CMD/TLM messages. As such, table services may need to translate the on-disk data file content into an in-memory representation during load, and vice-versa during dump.

Additional context
This is akin to the encode/decode hooks that were recently added to CI_LAB and TO_LAB. If the content format does match the internal C structure representation, then it is simply a pass-through. However, the code needs to have the appropriate hooks added such that it does not assume it is always a pass-through.

In particular, if a table file format is defined in EDS, then it may require adjustments to padding and byte order during load/dump operations, to work with EDS-compliant binary data files that are independent of the host CPU architecture.

Requester Info
Joseph Hickey, Vantage Systems.

@jphickey jphickey self-assigned this Feb 27, 2024
# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

No branches or pull requests

1 participant