mirror of
https://github.com/fluencelabs/js-libp2p
synced 2025-04-25 18:42:15 +00:00
fix: address book guarantees no replicated entries are added (#927)
This commit is contained in:
parent
ef4393649f
commit
ac370fc967
@ -307,10 +307,13 @@ class AddressBook extends Book {
|
|||||||
throw errcode(new Error(`multiaddr ${addr} must be an instance of multiaddr`), ERR_INVALID_PARAMETERS)
|
throw errcode(new Error(`multiaddr ${addr} must be an instance of multiaddr`), ERR_INVALID_PARAMETERS)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Guarantee no replicates
|
||||||
|
if (!addresses.find((a) => a.multiaddr.equals(addr))) {
|
||||||
addresses.push({
|
addresses.push({
|
||||||
multiaddr: addr,
|
multiaddr: addr,
|
||||||
isCertified
|
isCertified
|
||||||
})
|
})
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
return addresses
|
return addresses
|
||||||
|
@ -287,6 +287,14 @@ describe('addressBook', () => {
|
|||||||
|
|
||||||
await defer.promise
|
await defer.promise
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it('does not add replicated content', () => {
|
||||||
|
// set 1
|
||||||
|
ab.set(peerId, [addr1, addr1])
|
||||||
|
|
||||||
|
const addresses = ab.get(peerId)
|
||||||
|
expect(addresses).to.have.lengthOf(1)
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('addressBook.get', () => {
|
describe('addressBook.get', () => {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user