-
-
Notifications
You must be signed in to change notification settings - Fork 1
Config profiles support #1
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
Conversation
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Added validation for name and description length in DefineHashConfigProfileAttribute. Signed-off-by: Xen <lordofxen@deskasoft.com>
Updated maximum name length from 255 to 64 characters. Signed-off-by: Xen <lordofxen@deskasoft.com>
Updated validation rules for Name and Description properties to include minimum length requirements. Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
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 introduces comprehensive support for configuration profiles, providing a standard way to create and manage configurations for all hash algorithms. It refactors the configuration system by replacing hardcoded static configurations with discoverable profile classes and adds new reflection helper methods for dynamic instance creation.
- Introduces a config profile system with new attributes and interfaces for declarative configuration management
- Refactors the HashFactory to support strongly typed reflection helpers and config profile discovery
- Replaces static hardcoded configurations with individual profile classes across CRC, FNV, Pearson, BuzHash, and Argon2id algorithms
Reviewed Changes
Copilot reviewed 108 out of 108 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| ReflectionHelper.cs | Adds generic reflection helper methods for strongly typed instance creation |
| HashFactory.cs | Updates factory to support config profiles with improved type safety and reflection |
| HashFactory.Extensions.cs | Adds GetConfigProfiles method and updates reflection signatures |
| Config profile interfaces/classes | Introduces IHashConfigProfile interface and HashConfigProfile implementation |
| Attribute classes | Adds DefineHashConfigProfileAttribute and DeclareHashConfigProfileAttribute for profile declarations |
| Algorithm config files | Refactors configurations from static properties to individual profile classes |
Comments suppressed due to low confidence (1)
HashifyNet/Core/Utilities/ReflectionHelper.cs:1
- The variable
configProfileCtoris assigned fromconfigType.GetConstructor()but should be assigned fromconfigProfileType.GetConstructor()since we're trying to get the constructor for the config profile type, not the config type.
// *
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
HashifyNet/Algorithms/FNV/ConfigProfiles/FNVConfigProfile64Bits.cs
Outdated
Show resolved
Hide resolved
…s.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Xen <lordofxen@deskasoft.com>
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
Copilot reviewed 108 out of 108 changed files in this pull request and generated 2 comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Xen <lordofxen@deskasoft.com>
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
Copilot reviewed 108 out of 108 changed files in this pull request and generated 5 comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
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
Copilot reviewed 108 out of 108 changed files in this pull request and generated 4 comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Xen <lordofxen@deskasoft.com>
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
Copilot reviewed 108 out of 108 changed files in this pull request and generated 5 comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Signed-off-by: Xen <lordofxen@deskasoft.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Xen <lordofxen@deskasoft.com>
Updated IHashConfigProfile interface to include ProfileType property. Signed-off-by: Xen <lordofxen@deskasoft.com>
Added ProfileType property and updated constructor to include it. Enhanced validation for profileType parameter. Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Signed-off-by: Xen <lordofxen@deskasoft.com>
Additional bug fixes and config profiles support for making configs a standard for all algorithms.