Skip to content

Commit 2f6990e

Browse files
update go-multiaddr to v0.10.0, use Unique function from there
1 parent 87c2561 commit 2f6990e

File tree

8 files changed

+21
-104
lines changed

8 files changed

+21
-104
lines changed

core/network/network.go

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,10 @@
66
package network
77

88
import (
9-
"bytes"
109
"context"
1110
"io"
1211
"time"
1312

14-
"golang.org/x/exp/slices"
15-
1613
"github.com/libp2p/go-libp2p/core/peer"
1714
"github.com/libp2p/go-libp2p/core/peerstore"
1815

@@ -199,24 +196,3 @@ type AddrDelay struct {
199196

200197
// DialRanker provides a schedule of dialing the provided addresses
201198
type DialRanker func([]ma.Multiaddr) []AddrDelay
202-
203-
// DedupAddrs deduplicates addresses in place, leave only unique addresses.
204-
// It doesn't allocate.
205-
func DedupAddrs(addrs []ma.Multiaddr) []ma.Multiaddr {
206-
if len(addrs) == 0 {
207-
return addrs
208-
}
209-
// Use the new slices package here, as the sort function doesn't allocate (sort.Slice does).
210-
slices.SortFunc(addrs, func(a, b ma.Multiaddr) bool { return bytes.Compare(a.Bytes(), b.Bytes()) < 0 })
211-
idx := 1
212-
for i := 1; i < len(addrs); i++ {
213-
if !addrs[i-1].Equal(addrs[i]) {
214-
addrs[idx] = addrs[i]
215-
idx++
216-
}
217-
}
218-
for i := idx; i < len(addrs); i++ {
219-
addrs[i] = nil
220-
}
221-
return addrs[:idx]
222-
}

core/network/network_test.go

Lines changed: 0 additions & 59 deletions
This file was deleted.

go.mod

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ require (
3636
github.com/minio/sha256-simd v1.0.1
3737
github.com/mr-tron/base58 v1.2.0
3838
github.com/multiformats/go-base32 v0.1.0
39-
github.com/multiformats/go-multiaddr v0.9.0
39+
github.com/multiformats/go-multiaddr v0.10.0
4040
github.com/multiformats/go-multiaddr-dns v0.3.1
4141
github.com/multiformats/go-multiaddr-fmt v0.1.0
4242
github.com/multiformats/go-multibase v0.2.0
@@ -54,7 +54,7 @@ require (
5454
go.uber.org/fx v1.19.2
5555
go.uber.org/goleak v1.1.12
5656
golang.org/x/crypto v0.7.0
57-
golang.org/x/exp v0.0.0-20230321023759-10a507213a29
57+
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df
5858
golang.org/x/sync v0.2.0
5959
golang.org/x/sys v0.8.0
6060
golang.org/x/tools v0.9.1
@@ -110,7 +110,7 @@ require (
110110
go.uber.org/dig v1.17.0 // indirect
111111
go.uber.org/multierr v1.11.0 // indirect
112112
go.uber.org/zap v1.24.0 // indirect
113-
golang.org/x/mod v0.10.0 // indirect
113+
golang.org/x/mod v0.11.0 // indirect
114114
golang.org/x/net v0.10.0 // indirect
115115
golang.org/x/text v0.9.0 // indirect
116116
gopkg.in/yaml.v3 v3.0.1 // indirect

go.sum

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -353,8 +353,8 @@ github.com/multiformats/go-base36 v0.2.0 h1:lFsAbNOGeKtuKozrtBsAkSVhv1p9D0/qedU9
353353
github.com/multiformats/go-base36 v0.2.0/go.mod h1:qvnKE++v+2MWCfePClUEjE78Z7P2a1UV0xHgWc0hkp4=
354354
github.com/multiformats/go-multiaddr v0.1.1/go.mod h1:aMKBKNEYmzmDmxfX88/vz+J5IU55txyt0p4aiWVohjo=
355355
github.com/multiformats/go-multiaddr v0.2.0/go.mod h1:0nO36NvPpyV4QzvTLi/lafl2y95ncPj0vFwVF6k6wJ4=
356-
github.com/multiformats/go-multiaddr v0.9.0 h1:3h4V1LHIk5w4hJHekMKWALPXErDfz/sggzwC/NcqbDQ=
357-
github.com/multiformats/go-multiaddr v0.9.0/go.mod h1:mI67Lb1EeTOYb8GQfL/7wpIZwc46ElrvzhYnoJOmTT0=
356+
github.com/multiformats/go-multiaddr v0.10.0 h1:onErs0qLf3P2oRqrYk1fAMcfrWaJb58pYY43SkEF78w=
357+
github.com/multiformats/go-multiaddr v0.10.0/go.mod h1:jLEZsA61rwWNZQTHHnqq2HNa+4os/Hz54eqiRnsRqYQ=
358358
github.com/multiformats/go-multiaddr-dns v0.3.1 h1:QgQgR+LQVt3NPTjbrLLpsaT2ufAA2y0Mkk+QRVJbW3A=
359359
github.com/multiformats/go-multiaddr-dns v0.3.1/go.mod h1:G/245BRQ6FJGmryJCrOuTdB37AMA5AMOVuO6NY3JwTk=
360360
github.com/multiformats/go-multiaddr-fmt v0.1.0 h1:WLEFClPycPkp4fnIzoFoV9FVd49/eQsuaL3/CWe167E=
@@ -563,8 +563,8 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0
563563
golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
564564
golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
565565
golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
566-
golang.org/x/exp v0.0.0-20230321023759-10a507213a29 h1:ooxPy7fPvB4kwsA2h+iBNHkAbp/4JxTSwCmvdjEYmug=
567-
golang.org/x/exp v0.0.0-20230321023759-10a507213a29/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc=
566+
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df h1:UA2aFVmmsIlefxMk29Dp2juaUSth8Pyn3Tq5Y5mJGME=
567+
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc=
568568
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
569569
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
570570
golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
@@ -588,8 +588,8 @@ golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzB
588588
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
589589
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
590590
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
591-
golang.org/x/mod v0.10.0 h1:lFO9qtOdlre5W1jxS3r/4szv2/6iXxScdzjoBMXNhYk=
592-
golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
591+
golang.org/x/mod v0.11.0 h1:bUO06HqtnRcc/7l71XBe4WcqTZ+3AH1J59zWDDwLKgU=
592+
golang.org/x/mod v0.11.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
593593
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
594594
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
595595
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=

p2p/host/basic/basic_host.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -841,7 +841,7 @@ func (h *BasicHost) AllAddrs() []ma.Multiaddr {
841841
finalAddrs = append(finalAddrs, resolved...)
842842
}
843843

844-
finalAddrs = network.DedupAddrs(finalAddrs)
844+
finalAddrs = ma.Unique(finalAddrs)
845845

846846
// use nat mappings if we have them
847847
if h.natmgr != nil && h.natmgr.HasDiscoveredNAT() {
@@ -910,7 +910,7 @@ func (h *BasicHost) AllAddrs() []ma.Multiaddr {
910910
}
911911
finalAddrs = append(finalAddrs, observedAddrs...)
912912
}
913-
finalAddrs = network.DedupAddrs(finalAddrs)
913+
finalAddrs = ma.Unique(finalAddrs)
914914
finalAddrs = inferWebtransportAddrsFromQuic(finalAddrs)
915915

916916
return finalAddrs

p2p/net/swarm/swarm_dial.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,7 @@ func (s *Swarm) addrsForDial(ctx context.Context, p peer.ID) ([]ma.Multiaddr, er
315315
if forceDirect, _ := network.GetForceDirectDial(ctx); forceDirect {
316316
goodAddrs = ma.FilterAddrs(goodAddrs, s.nonProxyAddr)
317317
}
318-
goodAddrs = network.DedupAddrs(goodAddrs)
318+
goodAddrs = ma.Unique(goodAddrs)
319319

320320
if len(goodAddrs) == 0 {
321321
return nil, ErrNoGoodAddresses

test-plans/go.mod

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ go 1.19
55
require (
66
github.com/go-redis/redis/v8 v8.11.5
77
github.com/libp2p/go-libp2p v0.0.0
8-
github.com/multiformats/go-multiaddr v0.9.0
8+
github.com/multiformats/go-multiaddr v0.10.0
99
)
1010

1111
require (
@@ -85,8 +85,8 @@ require (
8585
go.uber.org/multierr v1.11.0 // indirect
8686
go.uber.org/zap v1.24.0 // indirect
8787
golang.org/x/crypto v0.7.0 // indirect
88-
golang.org/x/exp v0.0.0-20230321023759-10a507213a29 // indirect
89-
golang.org/x/mod v0.10.0 // indirect
88+
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df // indirect
89+
golang.org/x/mod v0.11.0 // indirect
9090
golang.org/x/net v0.10.0 // indirect
9191
golang.org/x/sync v0.2.0 // indirect
9292
golang.org/x/sys v0.8.0 // indirect

test-plans/go.sum

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -189,8 +189,8 @@ github.com/multiformats/go-base36 v0.2.0 h1:lFsAbNOGeKtuKozrtBsAkSVhv1p9D0/qedU9
189189
github.com/multiformats/go-base36 v0.2.0/go.mod h1:qvnKE++v+2MWCfePClUEjE78Z7P2a1UV0xHgWc0hkp4=
190190
github.com/multiformats/go-multiaddr v0.1.1/go.mod h1:aMKBKNEYmzmDmxfX88/vz+J5IU55txyt0p4aiWVohjo=
191191
github.com/multiformats/go-multiaddr v0.2.0/go.mod h1:0nO36NvPpyV4QzvTLi/lafl2y95ncPj0vFwVF6k6wJ4=
192-
github.com/multiformats/go-multiaddr v0.9.0 h1:3h4V1LHIk5w4hJHekMKWALPXErDfz/sggzwC/NcqbDQ=
193-
github.com/multiformats/go-multiaddr v0.9.0/go.mod h1:mI67Lb1EeTOYb8GQfL/7wpIZwc46ElrvzhYnoJOmTT0=
192+
github.com/multiformats/go-multiaddr v0.10.0 h1:onErs0qLf3P2oRqrYk1fAMcfrWaJb58pYY43SkEF78w=
193+
github.com/multiformats/go-multiaddr v0.10.0/go.mod h1:jLEZsA61rwWNZQTHHnqq2HNa+4os/Hz54eqiRnsRqYQ=
194194
github.com/multiformats/go-multiaddr-dns v0.3.1 h1:QgQgR+LQVt3NPTjbrLLpsaT2ufAA2y0Mkk+QRVJbW3A=
195195
github.com/multiformats/go-multiaddr-dns v0.3.1/go.mod h1:G/245BRQ6FJGmryJCrOuTdB37AMA5AMOVuO6NY3JwTk=
196196
github.com/multiformats/go-multiaddr-fmt v0.1.0 h1:WLEFClPycPkp4fnIzoFoV9FVd49/eQsuaL3/CWe167E=
@@ -323,8 +323,8 @@ golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm
323323
golang.org/x/crypto v0.7.0 h1:AvwMYaRytfdeVt3u6mLaxYtErKYjxA2OXjJ1HHq6t3A=
324324
golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
325325
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
326-
golang.org/x/exp v0.0.0-20230321023759-10a507213a29 h1:ooxPy7fPvB4kwsA2h+iBNHkAbp/4JxTSwCmvdjEYmug=
327-
golang.org/x/exp v0.0.0-20230321023759-10a507213a29/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc=
326+
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df h1:UA2aFVmmsIlefxMk29Dp2juaUSth8Pyn3Tq5Y5mJGME=
327+
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc=
328328
golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
329329
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
330330
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
@@ -334,8 +334,8 @@ golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzB
334334
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
335335
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
336336
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
337-
golang.org/x/mod v0.10.0 h1:lFO9qtOdlre5W1jxS3r/4szv2/6iXxScdzjoBMXNhYk=
338-
golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
337+
golang.org/x/mod v0.11.0 h1:bUO06HqtnRcc/7l71XBe4WcqTZ+3AH1J59zWDDwLKgU=
338+
golang.org/x/mod v0.11.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
339339
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
340340
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
341341
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=

0 commit comments

Comments
 (0)