Change PeerInfo to remove dep on PeerData

This commit is contained in:
mhchia
2019-09-02 13:52:33 +08:00
parent b77834d129
commit dfd9ebdc5e
3 changed files with 5 additions and 18 deletions

View File

@ -3,7 +3,6 @@ from typing import List
import multiaddr
from .id import ID
from .peerdata import PeerData
class PeerInfo:
@ -11,9 +10,9 @@ class PeerInfo:
peer_id: ID
addrs: List[multiaddr.Multiaddr]
def __init__(self, peer_id: ID, peer_data: PeerData = None) -> None:
def __init__(self, peer_id: ID, addrs: List[multiaddr.Multiaddr]) -> None:
self.peer_id = peer_id
self.addrs = peer_data.get_addrs() if peer_data else None
self.addrs = addrs
def info_from_p2p_addr(addr: multiaddr.Multiaddr) -> PeerInfo:
@ -44,11 +43,7 @@ def info_from_p2p_addr(addr: multiaddr.Multiaddr) -> PeerInfo:
if len(parts) > 1:
addr = multiaddr.Multiaddr.join(*parts[:-1])
peer_data = PeerData()
peer_data.add_addrs([addr])
peer_data.set_protocols([p.code for p in addr.protocols()])
return PeerInfo(peer_id, peer_data)
return PeerInfo(peer_id, [addr])
class InvalidAddrError(ValueError):

View File

@ -33,7 +33,7 @@ class PeerStore(IPeerStore):
def peer_info(self, peer_id: ID) -> Optional[PeerInfo]:
if peer_id in self.peer_map:
peer_data = self.peer_map[peer_id]
return PeerInfo(peer_id, peer_data)
return PeerInfo(peer_id, peer_data.addrs)
return None
def get_protocols(self, peer_id: ID) -> List[str]: