identify handler reads data on request from the host

This commit is contained in:
Alex Stokes 2019-10-28 18:47:10 +09:00
parent 32c55bcaf2
commit e0a94b6092
No known key found for this signature in database
GPG Key ID: 51CE1721B245C086

View File

@ -4,6 +4,7 @@ from typing import Sequence
from multiaddr import Multiaddr
from libp2p.crypto.keys import PublicKey
from libp2p.host.host_interface import IHost
from libp2p.network.stream.net_stream_interface import INetStream
from libp2p.typing import StreamHandlerFn, TProtocol
@ -20,13 +21,15 @@ def _multiaddr_to_bytes(maddr: Multiaddr) -> bytes:
return maddr.to_bytes()
def identify_handler_for(
public_key: PublicKey, laddrs: Sequence[Multiaddr], protocols: Sequence[TProtocol]
) -> StreamHandlerFn:
def identify_handler_for(host: IHost) -> StreamHandlerFn:
async def handle_identify(stream: INetStream) -> None:
peer_id = stream.muxed_conn.peer_id
logger.debug("received a request for %s from %s", ID, peer_id)
public_key = host.get_public_key()
laddrs = host.get_addrs()
protocols = host.get_mux().get_protocols()
protobuf = Identify(
protocol_version=PROTOCOL_VERSION,
agent_version=AGENT_VERSION,