docs: 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