Skip to content

Conversation

@abjeni
Copy link
Collaborator

@abjeni abjeni commented Mar 12, 2025

This is a prototype of the different design that uses a configuration in place of a manager.
The raw configuration is now a struct that points to a raw manager as well as the slice of raw nodes.
The NewConfiguration method takes a set of manager options instead of requiring a manager.
RawManager should be made private since it is no longer used by the generated files.
Sub configurations are created with a SubConfiguration method, without manager options.
There is no main configuration, the sub configurations all belong to the same raw manager.
The Close method is used to close a configuration along with all of its sub configurations.

Notes

  • NewConfiguration should only accept node map and node list.
  • mgr_test.go and config_test.go uses RawManager directly outside of the gorums package.
  • the storage example benefits from having a manager.
  • tests/config/config_test.go need a way to create an empty configuration.

Fixes #192

@deepsource-io
Copy link
Contributor

deepsource-io bot commented Mar 12, 2025

Here's the code health analysis summary for commits f25c47d..b2a0137. View details on DeepSource ↗.

Analysis Summary

AnalyzerStatusSummaryLink
DeepSource Go LogoGo❌ Failure
❗ 19 occurences introduced
🎯 2 occurences resolved
View Check ↗
DeepSource Shell LogoShell✅ SuccessView Check ↗

💡 If you’re a repository administrator, you can configure the quality gates from the settings.

@abjeni abjeni changed the base branch from master to Salhus/prototype/quorumcall-iterator June 15, 2025 20:22
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.

The generated Manager.NewConfiguration method is fragile

2 participants