def start_serving_nowait(self,
                             connection_config: ConnectionConfig,
                             loop: Optional[asyncio.AbstractEventLoop] = None) -> None:
        """
        Start serving this :class:`~lahja.endpoint.Endpoint` so that it can receive events. It is
        not guaranteed that the :class:`~lahja.endpoint.Endpoint` is fully ready after this method
        returns. Use :meth:`~lahja.endpoint.Endpoint.start_serving` or combine with
        :meth:`~lahja.endpoint.Endpoint.wait_until_serving`
        """
        if loop is None:
            loop = asyncio.get_event_loop()

        self._name = connection_config.name
        self._ipc_path = connection_config.path
        self._create_external_api(self._ipc_path)
        self._loop = loop
        self._internal_loop_running = asyncio.Event(loop=self.event_loop)
        self._receiving_loop_running = asyncio.Event(loop=self.event_loop)
        self._internal_queue = asyncio.Queue(loop=self.event_loop)
        self._receiving_queue = asyncio.Queue(loop=self.event_loop)

        # Using `gather` (over e.g. `wait` or plain `ensure_future`) ensures that the inner futures
        # are automatically cancelled as soon as the parent task is cancelled
        asyncio.gather(
            asyncio.ensure_future(self._connect_receiving_queue(), loop=self.event_loop),
            asyncio.ensure_future(self._connect_internal_queue(), loop=self.event_loop),
            loop=self.event_loop
        )

        self._running = True
Start serving this :class:`~lahja.endpoint.Endpoint` so that it can receive events. It is
        not guaranteed that the :class:`~lahja.endpoint.Endpoint` is fully ready after this method
        returns. Use :meth:`~lahja.endpoint.Endpoint.start_serving` or combine with
        :meth:`~lahja.endpoint.Endpoint.wait_until_serving`