The first portion of Smart Dialing is introducing an approach like Happy Eyeballs. With this, a libp2p node prioritizes a peer's multiaddr list based on transports and selects the best multiaddr to dial.
[ ] Briefly describe Happy Eyeballs (how it influences and differs from go-libp2p's approach)
[ ] Describe previous libp2p multiaddr selection logic and why it is not scalable (as more multiaddrs are added) and efficient (why it doesn't pick the best multiaddr)
[ ] Describe how using this approach results in a better performance and better connection likelihood
[ ] Decide whether to: document in connection establishment or as a separate article
[ ] Mention this is only in go-libp2p for now
Why Important
We need to document and highlight the performance optimizations libp2p has specified and implemented.
The first portion of Smart Dialing is introducing an approach like Happy Eyeballs. With this, a libp2p node prioritizes a peer's multiaddr list based on transports and selects the best multiaddr to dial.
Done Criteria
Why Important
We need to document and highlight the performance optimizations libp2p has specified and implemented.