def _topicmanager(self): """ Returns the configured L{TopicManager} instance to use. Can be overridden by subclasses that wish to change out any topic mgr parameters. @rtype: L{TopicManager} """ return TopicManager()
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
def setUp(self): self.tm = TopicManager() self.conn = MockConnection()