Change: Membership::new_with_defaults() #1275
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changelog
Change: Membership::new_with_defaults()
Add new method
Membership::new_with_defaults()
that createsMembership
usingC::Node::default()
to build nodes. And the existingmethod
Membership::new()
does not requireC::Node: Default
any more.The corresponding change includes it
Membership::new()
now returns aNodeNotFound
error if the the given nodes do not include all of thegiven Voter ids.
Other changes:
Add error
MembershipError
to represent errors occuring duringbuilding a
Membership
.Remove
IntoNodes
implementations forBTreeSet
. AddIntoNodes
forHashMap<NID, N>
.Upgrade tip:
Calls to
Membership::new()
should provide all nodes(Voters andLearners), and deal with the returned
Result
.Switch to using
Membership::new_with_defaults()
when needed ifC::Node
implementsDefault
This change is