-
Notifications
You must be signed in to change notification settings - Fork 40
The last CTL patch :) #1524
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
base: main
Are you sure you want to change the base?
The last CTL patch :) #1524
Conversation
629b379
to
2706166
Compare
Split between initialize and post-initialize function is necessary for properly handling CTL defaults.
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.
after all, this is super huge PR - I'd split this somehow, if easily done...
defaults changes global state, so using forks will isolate tests
94517a8
to
decb1fd
Compare
docs/config/ctl.rst
Outdated
:type:`umf_memory_provider_handle_t` argument to reach a specific provider. | ||
Providers can also be addressed by name through ``umf.provider.by_name.{provider}``; | ||
append ``.{index}`` to address specific provider when multiple providers share the same label. | ||
Defaults for future providers reside under ``umf.provider.default.{provider}`` and track the |
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.
not sure what you meant by ... and track the name ...
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.
done
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.
ohh, I see, but now there's a typo: {provider
-> {provider}
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.
Pull Request Overview
This PR consolidates final CTL (Control Interface) changes for version 1.0, including error code adjustments and comprehensive implementation of CTL functionality for providers and pools. The CTL system provides a hierarchical interface for configuring and querying UMF components.
Key changes:
- Introduced new error code
UMF_RESULT_ERROR_INVALID_CTL_PATH
for invalid CTL paths - Added comprehensive CTL parameter support for disjoint pools with default overrides
- Enhanced provider and pool initialization with post-initialization hooks
- Added extensive test coverage and examples for CTL functionality
Reviewed Changes
Copilot reviewed 49 out of 49 changed files in this pull request and generated 4 comments.
Show a summary per file
File | Description |
---|---|
include/umf/base.h |
Added new error code UMF_RESULT_ERROR_INVALID_CTL_PATH |
test/utils/cpp_helpers.hpp |
Updated default error return from UMF_RESULT_ERROR_UNKNOWN to UMF_RESULT_ERROR_INVALID_CTL_PATH |
test/pools/disjoint_pool_ctl.cpp |
Added comprehensive CTL tests for disjoint pool parameters and defaults |
test/pools/disjoint_pool.cpp |
Added post-initialization CTL calls to existing tests |
src/pool/pool_disjoint.c |
Implemented extensive CTL parameter support with read/write handlers |
src/memory_provider.c |
Added provider CTL defaults system and post-initialization support |
src/memory_pool.c |
Enhanced pool creation with CTL defaults and post-initialization |
examples/ctl/ |
Added comprehensive CTL usage examples |
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.
LGTM, I mostly reviewed the docs.
1 issue left in my prev. comments - a typo.
No description provided.