From 28d0e5759a59908c11d14096d1a73e3952ef68f4 Mon Sep 17 00:00:00 2001 From: "sumanjeet0012@gmail.com" Date: Tue, 24 Jun 2025 14:15:42 +0530 Subject: [PATCH] removed redundant function and added try catch block --- libp2p/discovery/mdns/broadcaster.py | 31 ++++++++++++++++++++++++++-- libp2p/discovery/mdns/listener.py | 11 ---------- 2 files changed, 29 insertions(+), 13 deletions(-) diff --git a/libp2p/discovery/mdns/broadcaster.py b/libp2p/discovery/mdns/broadcaster.py index 845704a6..223d747c 100644 --- a/libp2p/discovery/mdns/broadcaster.py +++ b/libp2p/discovery/mdns/broadcaster.py @@ -2,6 +2,7 @@ import logging import socket from zeroconf import ( + EventLoopBlocked, ServiceInfo, Zeroconf, ) @@ -57,8 +58,34 @@ class PeerBroadcaster: def register(self) -> None: """Register the peer's mDNS service on the network.""" - self.zeroconf.register_service(self.service_info) + try: + self.zeroconf.register_service(self.service_info) + logger.debug("mDNS service registered: %s", self.service_name) + except EventLoopBlocked as e: + logger.warning( + "EventLoopBlocked while registering mDNS '%s': %s", self.service_name, e + ) + except Exception as e: + logger.error( + "Unexpected error during mDNS registration for '%s': %r", + self.service_name, + e, + ) def unregister(self) -> None: """Unregister the peer's mDNS service from the network.""" - self.zeroconf.unregister_service(self.service_info) + try: + self.zeroconf.unregister_service(self.service_info) + logger.debug("mDNS service unregistered: %s", self.service_name) + except EventLoopBlocked as e: + logger.warning( + "EventLoopBlocked while unregistering mDNS '%s': %s", + self.service_name, + e, + ) + except Exception as e: + logger.error( + "Unexpected error during mDNS unregistration for '%s': %r", + self.service_name, + e, + ) diff --git a/libp2p/discovery/mdns/listener.py b/libp2p/discovery/mdns/listener.py index 5de7078c..de75b1c1 100644 --- a/libp2p/discovery/mdns/listener.py +++ b/libp2p/discovery/mdns/listener.py @@ -61,17 +61,6 @@ class PeerListener(ServiceListener): self.peerstore.add_addrs(peer_info.peer_id, peer_info.addrs, 10) logger.debug("Updated Peer", peer_info.peer_id) - def _process_discovered_service( - self, zeroconf: Zeroconf, type_: str, name: str - ) -> None: - info = zeroconf.get_service_info(type_, name, timeout=5000) - if not info: - return - peer_info = self._extract_peer_info(info) - if peer_info: - self.peerstore.add_addrs(peer_info.peer_id, peer_info.addrs, 10) - logger.debug("Discovered:", peer_info.peer_id) - def _extract_peer_info(self, info: ServiceInfo) -> PeerInfo | None: try: addrs = [