<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def daemon_connection_init(self, s_link, set_wait_new_conf=False):
 """Initialize a connection with the daemon for the provided satellite link Initialize the connection (HTTP client) to the daemon and get its running identifier. Returns True if it succeeds else if any error occur or the daemon is inactive it returns False. as such, force set the link reachable property If set_wait_new_conf is set, the daemon is requested to wait a new configuration if we get a running identifier. This is used by the arbiter when a new configuration must be dispatched NB: if the daemon is configured as passive, or if it is a daemon link that is inactive then it returns False without trying a connection. :param s_link: link of the daemon to connect to :type s_link: SatelliteLink :param set_wait_new_conf: if the daemon must got the wait new configuration state :type set_wait_new_conf: bool :return: True if the connection is established, else False """

        logger.debug("Daemon connection initialization: %s %s", s_link.type, s_link.name)

        # If the link is not not active, I do not try to initialize the connection, just useless ;)
        if not s_link.active:
            logger.warning("%s '%s' is not active, do not initialize its connection!",
                           s_link.type, s_link.name)
            return False

        # Create the daemon connection
        s_link.create_connection()

        # Get the connection running identifier - first client / server communication
        logger.debug("[%s] Getting running identifier for '%s'", self.name, s_link.name)
        # Assume the daemon should be alive and reachable
        # because we are initializing the connection...
        s_link.alive = True
        s_link.reachable = True
        got_a_running_id = None
        for _ in range(0, s_link.max_check_attempts):
            got_a_running_id = s_link.get_running_id()
            if got_a_running_id:
                s_link.last_connection = time.time()
                if set_wait_new_conf:
                    s_link.wait_new_conf()
                break
            time.sleep(0.3)

        return got_a_running_id