def __call__()

in src/dubbo/registry/zookeeper/kazoo_transport.py [0:0]


    def __call__(self, data: bytes, stat: ZnodeStat, event: WatchedEvent):
        """
        Handle data changes and notify the listener.

        This method is called with the current data, stat, and event of the watched Znode,
        processes the event type, and notifies all registered listeners.

        :param data: The current data of the Znode.
        :type data: bytes
        :param stat: The status of the Znode.
        :type stat: ZnodeStat
        :param event: The event that triggered the callback.
        :type event: WatchedEvent
        """
        with self._lock:
            if event is None or len(self._listeners) == 0:
                return

            event_type = None
            if event.type == EventType.NONE:
                event_type = DataListener.EventType.NONE
            elif event.type == EventType.CREATED:
                event_type = DataListener.EventType.CREATED
            elif event.type == EventType.DELETED:
                event_type = DataListener.EventType.DELETED
            elif event.type == EventType.CHANGED:
                event_type = DataListener.EventType.CHANGED
            elif event.type == EventType.CHILD:
                event_type = DataListener.EventType.CHILD

            # Notify all listeners
            for listener in self._listeners:
                listener.data_changed(self._path, data, event_type)