Merge pull request #196 from NIC619/fix_peer_id

Refactor `peer.ID` class and only takes in `bytes` type argument
This commit is contained in:
NIC Lin
2019-08-02 18:03:56 +08:00
committed by GitHub
22 changed files with 211 additions and 256 deletions

View File

@ -58,9 +58,9 @@ class INetwork(ABC):
"""
@abstractmethod
async def listen(self, *args: Sequence[Multiaddr]) -> bool:
async def listen(self, *multiaddrs: Sequence[Multiaddr]) -> bool:
"""
:param *args: one or many multiaddrs to start listening on
:param multiaddrs: one or many multiaddrs to start listening on
:return: True if at least one success
"""

View File

@ -3,7 +3,7 @@ from typing import Awaitable, Callable, Dict, List, Sequence
from multiaddr import Multiaddr
from libp2p.peer.id import ID, id_b58_decode
from libp2p.peer.id import ID
from libp2p.peer.peerstore import PeerStore
from libp2p.protocol_muxer.multiselect import Multiselect
from libp2p.protocol_muxer.multiselect_client import MultiselectClient
@ -163,12 +163,12 @@ class Swarm(INetwork):
return net_stream
async def listen(self, *args: Sequence[Multiaddr]) -> bool:
async def listen(self, *multiaddrs: Sequence[Multiaddr]) -> bool:
"""
:param *args: one or many multiaddrs to start listening on
:param multiaddrs: one or many multiaddrs to start listening on
:return: true if at least one success
For each multiaddr in args
For each multiaddr
Check if a listener for multiaddr exists already
If listener already exists, continue
Otherwise:
@ -177,7 +177,7 @@ class Swarm(INetwork):
Call listener listen with the multiaddr
Map multiaddr to listener
"""
for multiaddr in args:
for multiaddr in multiaddrs:
if str(multiaddr) in self.listeners:
return True
@ -185,7 +185,7 @@ class Swarm(INetwork):
reader: asyncio.StreamReader, writer: asyncio.StreamWriter
) -> None:
# Read in first message (should be peer_id of initiator) and ack
peer_id = id_b58_decode((await reader.read(1024)).decode())
peer_id = ID.from_base58((await reader.read(1024)).decode())
writer.write("received peer id".encode())
await writer.drain()