Skip to content

Commit e63ff38

Browse files
authoredApr 22, 2019
Merge pull request #609 from libp2p/fix/avoid-allocation
avoid intermediate allocation in relayAddrs
2 parents 48800a6 + ba00011 commit e63ff38

File tree

1 file changed

+2
-7
lines changed

1 file changed

+2
-7
lines changed
 

‎p2p/host/relay/autorelay.go

+2-7
Original file line numberDiff line numberDiff line change
@@ -266,12 +266,7 @@ func (ar *AutoRelay) relayAddrs(addrs []ma.Multiaddr) []ma.Multiaddr {
266266
return ar.cachedAddrs
267267
}
268268

269-
relays := make([]peer.ID, 0, len(ar.relays))
270-
for p := range ar.relays {
271-
relays = append(relays, p)
272-
}
273-
274-
raddrs := make([]ma.Multiaddr, 0, 4*len(relays)+2)
269+
raddrs := make([]ma.Multiaddr, 0, 4*len(ar.relays)+4)
275270

276271
// only keep private addrs from the original addr set
277272
for _, addr := range addrs {
@@ -281,7 +276,7 @@ func (ar *AutoRelay) relayAddrs(addrs []ma.Multiaddr) []ma.Multiaddr {
281276
}
282277

283278
// add relay specific addrs to the list
284-
for _, p := range relays {
279+
for p := range ar.relays {
285280
addrs := cleanupAddressSet(ar.host.Peerstore().Addrs(p))
286281

287282
circuit, err := ma.NewMultiaddr(fmt.Sprintf("/p2p/%s/p2p-circuit", p.Pretty()))

0 commit comments

Comments
 (0)
Please sign in to comment.