docs: def server_from_config(config=None, server_class=None, additional_kwargs=None):
      """
      Gets a configured L{coilmq.server.StompServer} from specified config.
  
      If `config` is None, global L{coilmq.config.config} var will be used instead.
  
      The `server_class` and `additional_kwargs` are primarily hooks for using this method
      from a testing environment.
  
      @param config: A C{ConfigParser.ConfigParser} instance with loaded config values.
      @type config: C{ConfigParser.ConfigParser}
  
      @param server_class: Which class to use for the server.  (This doesn't come from config currently.)
      @type server_class: C{class}
  
      @param additional_kwargs: Any additional args that should be passed to class.
      @type additional_kwargs: C{list}
  
      @return: The configured StompServer.
      @rtype: L{coilmq.server.StompServer}
      """
      global global_config
      if not config:
          config = global_config
  
      queue_store_factory = resolve_name(config.get('coilmq', 'qstore.factory'))
      subscriber_scheduler_factory = resolve_name(config.get(
              'coilmq', 'scheduler.subscriber_priority_factory'))
      queue_scheduler_factory = resolve_name(config.get(
              'coilmq', 'scheduler.queue_priority_factory'))
  
      if config.has_option('coilmq', 'auth.factory'):
          authenticator_factory = resolve_name(
                  config.get('coilmq', 'auth.factory'))
          authenticator = authenticator_factory()
      else:
          authenticator = None
  
      server = ThreadedStompServer((config.get('coilmq', 'listen_addr'), config.getint('coilmq', 'listen_port')),
                                   queue_manager=QueueManager(store=queue_store_factory(),
                                                              subscriber_scheduler=subscriber_scheduler_factory(),
                                                              queue_scheduler=queue_scheduler_factory()),
                                   topic_manager=TopicManager(),
                                   authenticator=authenticator,
                                   protocol=STOMP11)
      logger.info("Created server:%r" % server)
      return server