From 847dfa6577b29687636394aafeb6c4e1aeb1c0fe Mon Sep 17 00:00:00 2001 From: mystical-prog Date: Mon, 4 Nov 2024 21:54:10 +0530 Subject: [PATCH] added getter for connected peers --- libp2p/host/basic_host.py | 3 +++ libp2p/host/host_interface.py | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/libp2p/host/basic_host.py b/libp2p/host/basic_host.py index f6157748..59662b4c 100644 --- a/libp2p/host/basic_host.py +++ b/libp2p/host/basic_host.py @@ -145,6 +145,9 @@ class BasicHost(IHost): addrs.append(addr.encapsulate(p2p_part)) return addrs + def get_connected_peers(self) -> List[ID]: + return list(self.get_network().connections.keys()) + @asynccontextmanager async def run( self, listen_addrs: Sequence[multiaddr.Multiaddr] diff --git a/libp2p/host/host_interface.py b/libp2p/host/host_interface.py index f71792b5..9187c5c5 100644 --- a/libp2p/host/host_interface.py +++ b/libp2p/host/host_interface.py @@ -71,6 +71,12 @@ class IHost(ABC): :return: all the multiaddr addresses this host is listening to """ + @abstractmethod + def get_connected_peers(self) -> List[ID]: + """ + :return: all the ids of peers this host is currently connected to + """ + @abstractmethod def run( self, listen_addrs: Sequence[multiaddr.Multiaddr]