Old DHT nodes should forward Multiaddrs with Protocol::X of new nodes even though they can't parse the Multiaddr. Currently they don't.
Considerations:
Instead of providing e.g. an Unparsable type in multiaddr, each user that cares could also carry a Either<Multiaddr, Vec<u8>>.
One could add a Protocol::Unparsable(Vec<u8>) containing the remaining unparsable bytes. This might break existing implementations as they depend on Multiaddr either to succeed or fail, but not fail partially.
Sample use-case:
Protocol::X
.Multiaddr
s withProtocol::X
of new nodes even though they can't parse theMultiaddr
. Currently they don't.Considerations:
Unparsable
type inmultiaddr
, each user that cares could also carry aEither<Multiaddr, Vec<u8>>
.Protocol::Unparsable(Vec<u8>)
containing the remaining unparsable bytes. This might break existing implementations as they depend onMultiaddr
either to succeed or fail, but not fail partially.Related: