refactor: Backwards compatible Encapsulate/Decapsulate/Join#272
Merged
refactor: Backwards compatible Encapsulate/Decapsulate/Join#272
Conversation
sukunrt
approved these changes
Feb 22, 2025
prefer the simpler `len` check for Multiaddr and `== nil` for `*Component`.
Export Multiaddrer interface
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This changes
Multiaddr.EncapsulateandMultiaddr.Decapsulateto be able to accept either a Multiaddr or Component as before. This reduces the amount of breaking changes in v0.15. The downside is more complexity and introducing another Component pointer in NewComponent so that it just works with Encapsulate/Decapsulate/Join.We may also be able to get rid of the
.Emptycheck and have folks check against nil as before. Note that this should avoid the original problems in v0.14 as we aren't behind an interface. It does however make it possible to hit a nil pointer panic where you couldn't before as you didn't have a pointer to begin with.This would obviate the need for these changes: