def METHOD_NAME(self, payload: bytes) -> None:
    try:
        data = json.loads(base64.b64decode(payload))
    except (TypeError, ValueError):
        logger.exception(f"could not decode Stolon cluster data")
        return
    # Successful Consul response, reset retry backoff
    self._retry_attempt = 0
    cluster_status = data.get("cluster", {}).get("status", {})
    master_db = cluster_status.get("master")
    cluster_phase = cluster_status.get("phase")
    if cluster_phase != "normal":
        logger.debug("Stolon cluster phase: %r", cluster_phase)
    if not master_db:
        return
    master_status = (
        data.get("dbs", {}).get(master_db, {}).get("status", {})
    )
    master_healthy = master_status.get("healthy")
    if not master_healthy:
        logger.warning("Stolon reports unhealthy master Postgres.")
        return
    master_host = master_status.get("listenAddress")
    master_port = master_status.get("port")
    if not master_host or not master_port:
        return
    master_addr = master_host, int(master_port)
    if master_addr != self._master_addr:
        if self._master_addr is None:
            logger.info("Discovered master Postgres at %r", master_addr)
            self._master_addr = master_addr
        else:
            logger.critical(
                f"Switching over the master Postgres from %r to %r",
                self._master_addr,
                master_addr,
            )
            self._master_addr = master_addr
            if self._failover_cb is not None:
                self._failover_cb()
    if self._waiter is not None:
        if not self._waiter.done():
            self._waiter.set_result(None)
        self._waiter = None