Skip to content
New issue

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

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

Already on GitHub? Sign in 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant