Skip to content

Conversation

@meling
Copy link
Member

@meling meling commented Jan 26, 2026

Fixes #165

This builds on #248, but with the NodeID type parameter removed from nodeError.
Removing NodeID from nodeError may marginally reduce churn, but it is unclear whether the improvement is significant enough to matter.

- Updated Node and Channel structures to use generics for node IDs.
- Modified sorting functions in node_test.go to accommodate the new generic Node type.
- Changed managerOptions to accept a generic function for per-node metadata.
- Refactored QuorumCall and related functions to support generic node ID types.
- Adjusted Responses and ResponseSeq types to work with generics.
- Updated tests in quorumcall_test.go and responses_test.go to reflect changes in node ID handling.
- Enhanced Unicast function to utilize generics for node IDs.
- Made necessary adjustments in server_test.go and testing_bufconn.go for compatibility with the new generic structure.
Just node_id could be confusing, so we use node_id_type to make sure it
is clear that this is the NodeID type (uint32, int64, string etc.)
All other methods use (c Configuration[T]) as the receiver for
configuration methods; so we should do the same for the Context methods
as well.
Removing NodeID from nodeError may marginally reduce churn, but it is
unclear whether the improvement is significant enough to matter.
@deepsource-io
Copy link
Contributor

deepsource-io bot commented Jan 26, 2026

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

Analysis Summary

AnalyzerStatusSummaryLink
DeepSource Go LogoGo✅ SuccessView Check ↗
DeepSource Shell LogoShell✅ SuccessView Check ↗

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

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.

feat: generic datatype for node ID

2 participants