mirror of
https://github.com/varun-r-mallya/py-libp2p.git
synced 2026-02-12 16:10:57 +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:
|
if existing and existing.seq > record.seq:
|
||||||
return False # reject older record
|
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)
|
new_addrs = set(record.addrs)
|
||||||
merged_addrs = list(existing_addrs.union(new_addrs))
|
|
||||||
|
|
||||||
self.peer_record_map[peer_id] = PeerRecordState(envelope, record.seq)
|
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
|
return True
|
||||||
|
|
||||||
|
|||||||
@ -134,6 +134,6 @@ def test_ceritified_addr_book():
|
|||||||
assert latest.record().seq == 23
|
assert latest.record().seq == 23
|
||||||
|
|
||||||
# Merged addresses = old addres + new_addrs
|
# 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))
|
actual_addrs = set(store.addrs(peer_id))
|
||||||
assert actual_addrs == expected_addrs
|
assert actual_addrs == expected_addrs
|
||||||
|
|||||||
Reference in New Issue
Block a user