@@ -479,7 +479,7 @@ func (a *addrsManager) applyAddrsFactory(addrs []ma.Multiaddr) []ma.Multiaddr {
479479 addrs = append (addrs [:0 ], af ... )
480480 // Add certhashes for the addresses provided by the user via address factory.
481481 addrs = a .addCertHashes (ma .Unique (addrs ))
482- slices .SortFunc (addrs , func ( a , b ma.Multiaddr ) int { return a .Compare ( b ) } )
482+ slices .SortFunc (addrs , ma .Multiaddr .Compare )
483483 return addrs
484484}
485485
@@ -514,15 +514,12 @@ func (a *addrsManager) ConfirmedAddrs() (reachable []ma.Multiaddr, unreachable [
514514
515515func (a * addrsManager ) getConfirmedAddrs (localAddrs []ma.Multiaddr ) (reachableAddrs , unreachableAddrs , unknownAddrs []ma.Multiaddr ) {
516516 reachableAddrs , unreachableAddrs , unknownAddrs = a .addrsReachabilityTracker .ConfirmedAddrs ()
517- // The tracker returns primary addrs followed by secondary addrs, which
518- // interleave under Multiaddr.Compare (webrtc-direct sorts before quic-v1
519- // on the same UDP socket). removeNotInSource here and removeInSource in
517+ // Don't rely on tracker's ordering. removeNotInSource here and removeInSource in
520518 // getDialableAddrs require sorted input; unsorted input silently drops
521519 // confirmed addrs.
522- cmp := func (a , b ma.Multiaddr ) int { return a .Compare (b ) }
523- slices .SortFunc (reachableAddrs , cmp )
524- slices .SortFunc (unreachableAddrs , cmp )
525- slices .SortFunc (unknownAddrs , cmp )
520+ slices .SortFunc (reachableAddrs , ma .Multiaddr .Compare )
521+ slices .SortFunc (unreachableAddrs , ma .Multiaddr .Compare )
522+ slices .SortFunc (unknownAddrs , ma .Multiaddr .Compare )
526523 return removeNotInSource (reachableAddrs , localAddrs ), removeNotInSource (unreachableAddrs , localAddrs ), removeNotInSource (unknownAddrs , localAddrs )
527524}
528525
@@ -560,7 +557,7 @@ func (a *addrsManager) getLocalAddrs() []ma.Multiaddr {
560557 // using identify.
561558 finalAddrs = a .addCertHashes (finalAddrs )
562559 finalAddrs = ma .Unique (finalAddrs )
563- slices .SortFunc (finalAddrs , func ( a , b ma.Multiaddr ) int { return a .Compare ( b ) } )
560+ slices .SortFunc (finalAddrs , ma .Multiaddr .Compare )
564561 return finalAddrs
565562}
566563
@@ -700,8 +697,8 @@ func areAddrsDifferent(prev, current []ma.Multiaddr) bool {
700697 if len (prev ) != len (current ) {
701698 return true
702699 }
703- slices .SortFunc (prev , func ( a , b ma.Multiaddr ) int { return a .Compare ( b ) } )
704- slices .SortFunc (current , func ( a , b ma.Multiaddr ) int { return a .Compare ( b ) } )
700+ slices .SortFunc (prev , ma .Multiaddr .Compare )
701+ slices .SortFunc (current , ma .Multiaddr .Compare )
705702 for i := range prev {
706703 if ! prev [i ].Equal (current [i ]) {
707704 return true
0 commit comments