def create_connection(cls, connection_configs, on_done, custom_ioloop=None, workflow=None): """Implement :py:classmethod:`pika.adapters.BaseConnection.create_connection()`. """ nbio = SelectorIOServicesAdapter(custom_ioloop or IOLoop()) def connection_factory(params): """Connection factory.""" if params is None: raise ValueError('Expected pika.connection.Parameters ' 'instance, but got None in params arg.') return cls(parameters=params, custom_ioloop=nbio, internal_connection_workflow=False) return cls._start_connection_workflow( connection_configs=connection_configs, connection_factory=connection_factory, nbio=nbio, workflow=workflow, on_done=on_done)
def test_with_select_connection_io_services(self): # Test entry point for `select_connection.IOLoop`-based async services # implementation. from pika.adapters.select_connection import IOLoop from pika.adapters.utils.selector_ioloop_adapter import ( SelectorIOServicesAdapter) native_loop = IOLoop() self._run_start( nbio_factory=lambda: SelectorIOServicesAdapter(native_loop), native_loop=native_loop)
def __init__( self, # pylint: disable=R0913 parameters=None, on_open_callback=None, on_open_error_callback=None, on_close_callback=None, custom_ioloop=None, internal_connection_workflow=True): """Create a new instance of the Connection object. :param pika.connection.Parameters parameters: Connection parameters :param callable on_open_callback: Method to call on connection open :param None | method on_open_error_callback: Called if the connection can't be established or connection establishment is interrupted by `Connection.close()`: on_open_error_callback(Connection, exception). :param None | method on_close_callback: Called when a previously fully open connection is closed: `on_close_callback(Connection, exception)`, where `exception` is either an instance of `exceptions.ConnectionClosed` if closed by user or broker or exception of another type that describes the cause of connection failure. :param None | IOLoop | nbio_interface.AbstractIOServices custom_ioloop: Provide a custom I/O Loop object. :param bool internal_connection_workflow: True for autonomous connection establishment which is default; False for externally-managed connection workflow via the `create_connection()` factory. :raises: RuntimeError """ if isinstance(custom_ioloop, nbio_interface.AbstractIOServices): nbio = custom_ioloop else: nbio = SelectorIOServicesAdapter(custom_ioloop or IOLoop()) super(SelectConnection, self).__init__( parameters, on_open_callback, on_open_error_callback, on_close_callback, nbio, internal_connection_workflow=internal_connection_workflow)