Skip to content

DRAFT: Ports command line argument handling for proxy and handler to Rust #48232

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

Open
wants to merge 16 commits into
base: main
Choose a base branch
from

Conversation

serra-fastly
Copy link

@serra-fastly serra-fastly commented Jul 3, 2025

This change is a part of the transition from C++ to Rust.

Argument handling has been collapsed into core/argsdata.cpp and core/ccliargs.rs for C++ and Rust respectively. Old argument parsing logic was removed from the C++ modules. Runner was updated with the new command line values to standardize tags.

I chose not to use the CliArgs class that already existed for runner because the C++ modules will eventually be phased out and it'll be easier to clean up C++ related code if they're already extracted out into their own classes.

I've created unit testing for both the Rust modules that send the arguments within cliargs.rs and the C++ modules that receive the modules within [handler/proxy]argstest.cpp. The equality comparison operator was overloaded for the Setting class to aid in unit testing.

The boost include address for homebrew on MacOS Silicon OSs was also added.

It has not currently been tested on a test node yet, coming soon.

Copy link
Collaborator

@deg4uss3r deg4uss3r left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR looks good! Minus one debugging statement left in I think this is ready to test on a node for correctness.

@serra-fastly serra-fastly force-pushed the serra/rust-arg-handler branch from 8319e99 to ce7de89 Compare July 16, 2025 18:53
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