Skip to content

Conversation

@etremel
Copy link
Contributor

@etremel etremel commented Jul 15, 2025

As my students have started working more with Cascade (and Cascade CBDC) I noticed they were somewhat confused by the API for ServiceClient because the comments in service.hpp didn't always match the functions. I updated the comments to better reflect the current API, squashed some compiler warnings (so the students can more easily tell if they break something), and ported over some fixes to the prerequisite-installation scripts that I already implemented in the cascade_chain branch. Also, I changed the string constants for Cascade's derecho.cfg keys to use constexpr char* instead of macros, to match how Derecho defines these constants. This does mean the constants now require a namespace prefix if they are used in code outside the cascade namespace, but right now they are only used internally so this shouldn't cause any issues.

etremel added 5 commits July 14, 2025 12:27
This is an optional prerequisite, but it's a library that doesn't have a
package or clear installation method (you have to copy the header to
/usr/local/include manually) so it's nice to have a script that shows
you how to install it.
The install scripts for some optional prerequisites (ANN, CPPFlow,
libtorch, OpenCV, and TensorFlow) had a hard-coded value of
INSTALL_PREFIX instead of allowing the user to pass it as an argument.
This is essentially a cherry-pick of commit
4683a66 from the cascade_chain branch,
but without the other changes that added Docker support.
The comments on the main API functions in service.hpp were missing some
details and were sometimes out-of-date with respect to the code. Also,
a newer g++ (version 13.3) emitted some warnings about existing code
that needed to be updated (e.g. to remove unnecessary std::moves).
Finally, the string constants in service.hpp should be declared as
constexpr strings, not macros, to match Derecho's usage of these types
of constants for Conf strings.
These showed up after a clean rebuild, mostly complaining about
documentation comments not matching the function signature.
I made two stupid mistakes when copying and pasting the changes to
scripts that had more than one existing argument. Good thing I
double-checked the diff on GitHub.
@etremel etremel merged commit 8348faf into master Jul 15, 2025
1 check passed
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.

2 participants