code: def configuration_dispatch(self, not_configured=None):
          if not not_configured:
              self.dispatcher = Dispatcher(self.conf, self.link_to_myself)
              self.cur_conf = self.conf
              first_connection_try_count = 0
              logger.info("Connecting to my satellites...")
              while True:
                  first_connection_try_count += 1
                  self.all_connected = True
                  for satellite in self.dispatcher.all_daemons_links:
                      if satellite == self.link_to_myself:
                          continue
                      if not satellite.active:
                          continue
                      connected = self.daemon_connection_init(satellite, set_wait_new_conf=True)
                      logger.debug("  %s is %s", satellite, connected)
                      self.all_connected = self.all_connected and connected
                  if self.all_connected:
                      logger.info("- satellites connection
                      break
                  else:
                      logger.warning("- satellites connection
                                     "let's give another chance after %d seconds...",
                                     first_connection_try_count,
                                     self.link_to_myself.polling_interval)
                      if first_connection_try_count >= 3:
                          self.request_stop("All the daemons connections could not be established "
                                            "despite %d tries! "
                                            "Sorry, I bail out!" % first_connection_try_count,
                                            exit_code=4)
                      time.sleep(self.link_to_myself.polling_interval)
              _t0 = time.time()
              self.all_connected = self.dispatcher.check_reachable()
              statsmgr.timer('dispatcher.check-alive', time.time() - _t0)
              _t0 = time.time()
              logger.info("Preparing the configuration for dispatching...")
              self.dispatcher.prepare_dispatch()
              statsmgr.timer('dispatcher.prepare-dispatch', time.time() - _t0)
              logger.info("- configuration is ready to dispatch")
          first_dispatch_try_count = 0
          logger.info("Dispatching the configuration to my satellites...")
          while True:
              first_dispatch_try_count += 1
              _t0 = time.time()
              logger.info("- configuration dispatching
              self.dispatcher.check_reachable(forced=True)
              statsmgr.timer('dispatcher.dispatch', time.time() - _t0)
              pause = max(1, max(self.conf.daemons_dispatch_timeout, len(self.my_daemons) * 0.5))
              logger.info("- pausing %d seconds...", pause)
              time.sleep(pause)
              _t0 = time.time()
              logger.info("- checking configuration dispatch...")
              self.dispatcher.check_dispatch()
              statsmgr.timer('dispatcher.check-dispatch', time.time() - _t0)
              if self.dispatcher.dispatch_ok:
                  logger.info("- configuration dispatching
                  break
              else:
                  logger.warning("- configuration dispatching
                                 "let's give another chance...", first_dispatch_try_count)
                  if first_dispatch_try_count >= 3:
                      self.request_stop("The configuration could not be dispatched despite %d tries! "
                                        "Sorry, I bail out!" % first_connection_try_count,
                                        exit_code=4)