mirror of
https://github.com/varun-r-mallya/py-libp2p.git
synced 2025-12-31 20:36:24 +00:00
overwrite old_addr with new_addrs in consume_peer_record
This commit is contained in:
@ -253,20 +253,11 @@ class PeerStore(IPeerStore):
|
||||
if existing and existing.seq > record.seq:
|
||||
return False # reject older record
|
||||
|
||||
# Merge new addresses with existing ones if peer exists
|
||||
if peer_id in self.peer_data_map:
|
||||
try:
|
||||
existing_addrs = set(self.addrs(peer_id))
|
||||
except PeerStoreError:
|
||||
existing_addrs = set()
|
||||
else:
|
||||
existing_addrs = set()
|
||||
|
||||
new_addrs = set(record.addrs)
|
||||
merged_addrs = list(existing_addrs.union(new_addrs))
|
||||
|
||||
self.peer_record_map[peer_id] = PeerRecordState(envelope, record.seq)
|
||||
self.add_addrs(peer_id, merged_addrs, ttl)
|
||||
self.peer_data_map[peer_id].clear_addrs()
|
||||
self.add_addrs(peer_id, list(new_addrs), ttl)
|
||||
|
||||
return True
|
||||
|
||||
|
||||
@ -134,6 +134,6 @@ def test_ceritified_addr_book():
|
||||
assert latest.record().seq == 23
|
||||
|
||||
# Merged addresses = old addres + new_addrs
|
||||
expected_addrs = set(addrs).union(set(new_addrs))
|
||||
expected_addrs = set(new_addrs)
|
||||
actual_addrs = set(store.addrs(peer_id))
|
||||
assert actual_addrs == expected_addrs
|
||||
|
||||
Reference in New Issue
Block a user