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

Support for large parameter size using Base 64 encoding #92

Closed
wants to merge 10 commits into from

Conversation

ipcamit
Copy link

@ipcamit ipcamit commented Jan 9, 2025

Added:
KIM_Base64.hpp for Base64 encoder-decoder class
utils/KIM_Base64Encoder.cpp: for kim-base64-encoder, xxd replacement

Edited:
CMakelists.txt: Compile and install base64 encoder, defaults to Release
item-macros.cmake.in: move from xxd to base64 encoder, remove Cmake based xxd workaround
KIM_SharedLibrary.cpp: decode base64 string before writing to hard drive.

TODO:
Licensing discussion: Base64 encoder is heavily borrowed from Boost, which is permitted like MIT but need separate inclusion of the license, for the included file. See: KIM_Base64.hpp for more info

New KIM-API is source compatible with older version, but not binary-compatible.

ipcamit and others added 10 commits December 29, 2024 14:58
A utility for base64 encoding and decoding of model and model-driver parameter files.
This biary executable will be used for compiling shared-libraries of model and model-driver.
This utility will be installed in the CMAKE_INSTALL_RELOC_BINDIR.
Specify build and installation instructions for kim_base64_encode.
kim_base64_encode is a critical dependant for building model/model-driver shared-libraries.
kim_base64_encode must be built before kim-api.
kim_base64_encode will be installed in the CMAKE_INSTALL_RELOC_BINDIR for system-wide access during compile-time of model/model-driver shared-libraries.
Commits: kim-base64-encode and associated decoder for moving KIM-API towards base64 encoding, instead of binary xxd
…ible now.

Stylistic changes:
   base64.hpp moved to KIM_Base64.hpp
   KIM_Base64.hpp edited to have 2 space indent
   Function names/variable names to follow PascalCase or camelCase (like other KIM-API files)
   Doxygen style docstrings
TODO:
   Licensing issue discussion with Ryan
Copy link

codecov bot commented Jan 9, 2025

Codecov Report

Attention: Patch coverage is 94.61538% with 7 lines in your changes missing coverage. Please review.

Project coverage is 46.25%. Comparing base (431e641) to head (3c70257).

Files with missing lines Patch % Lines
utils/KIM_Base64Encode.cpp 87.17% 2 Missing and 3 partials ⚠️
cpp/include/KIM_Base64.hpp 96.72% 1 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master      #92      +/-   ##
==========================================
+ Coverage   45.29%   46.25%   +0.96%     
==========================================
  Files         140      142       +2     
  Lines       13059    13298     +239     
  Branches     1338     1354      +16     
==========================================
+ Hits         5915     6151     +236     
- Misses       6476     6497      +21     
+ Partials      668      650      -18     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@ellio167
Copy link
Member

Please rebase on the devel branch and submit as a pull request based on that not the master branch

@ellio167 ellio167 closed this Jan 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants