Merge pull request #271 from mhchia/fix/pubsub-interop

Pubsub interop with go-libp2p-daemon
This commit is contained in:
Kevin Mai-Husan Chia
2019-09-04 22:28:14 +08:00
committed by GitHub
33 changed files with 766 additions and 262 deletions

View File

@ -1,9 +1,8 @@
from typing import List
from typing import List, Sequence
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: Sequence[multiaddr.Multiaddr]) -> None:
self.peer_id = peer_id
self.addrs = peer_data.get_addrs() if peer_data else None
self.addrs = list(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]: