-
Notifications
You must be signed in to change notification settings - Fork 22
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 four missing data management functions #332
Conversation
Please use emoji reactions ON THIS COMMENT to indicate your position on this proposal.
Here are the meanings for the emojis:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor wording suggestions
One question from the quarterly was whether or not these functions should also be exported through the python bindings. @jjhursey was wondering if any of the other |
This PR adds some new functions. This PR is on the provisional track. |
Implementation pointers
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should the source buffer arguments in these APIs include a const
qualifier?
On closer reading, perhaps load and unload are correct in not using |
I would also advocate for consistent source and destination argument ordering for the compress/decompress APIs. For instance, zlib and libbz2 both use (dest, src) in the compress/uncompress APIs ala memcpy. Alternatively, l4z uses (src, dest) ordering. Whatever we land on, I think consistency would be good. |
Notes from 2Q 2021 ASC Meeting:
|
@rhc54 This PR was accepted as provisional on the condition that you apply the change in the comment from @bwbarrett that contains the text 'revision exception' (adding const). Please let us know if you have any questions on this. |
@kathrynmohror I'm assuming you have a typo in your directions, and that you meant the comments from @raffenet and not @bwbarrett - yes? |
PMIx ASC 2Q 2021: May 11 & May 13
|
While we provided macros for these purposes, it turns out that the logic in implementing those macros is somewhat more complex that originally realized and better suited to an actual function call. This RFC adds to functions to the Data Management chapter: - PMIx_Data_load transfers a data "blob" from a pmix_byte_object_t structure to a pmix_data_buffer_t - PMIx_Data_unload transfers the payload in a pmix_data_buffer_t to a pmix_byte_object_t structure Signed-off-by: Ralph Castain <rhc@pmix.org>
Signed-off-by: Ralph Castain <rhc@pmix.org> Co-authored-by: Josh Hursey <4259120+jjhursey@users.noreply.github.com>
Signed-off-by: Ralph Castain <rhc@pmix.org> Co-authored-by: Josh Hursey <4259120+jjhursey@users.noreply.github.com>
Signed-off-by: Ralph Castain <rhc@pmix.org>
Signed-off-by: Ralph Castain <rhc@pmix.org> Co-authored-by: Ken Raffenetti <raffenet@users.noreply.github.com>
Signed-off-by: Ralph Castain <rhc@pmix.org> Co-authored-by: Ken Raffenetti <raffenet@users.noreply.github.com>
|
While we provided macros for these purposes, it turns out that the logic in implementing those macros is somewhat more complex that originally realized and better suited to an actual function call. We also missed functions for compressing/decompressing data. This RFC adds to functions in the Data Management chapter:
PMIx_Data_load transfers a data "blob" from a pmix_byte_object_t structure to a pmix_data_buffer_t
PMIx_Data_unload transfers the payload in a pmix_data_buffer_t to a pmix_byte_object_t structure
PMIx_Data_compress applies a lossless data compression algo to the input data
PMIx_Data_decompress decompresses the input data (which must have been compressed by PMIx_Data_compress)
Signed-off-by: Ralph Castain rhc@pmix.org