code: def submit_coroutine(self, coro, loop):
          
          async def _do_call(_coro):
              with _IterationGuard(self):
                  await _coro
          asyncio.run_coroutine_threadsafe(_do_call(coro), loop=loop)
docs: Schedule and await a coroutine on the specified loop
  
          The coroutine is wrapped and scheduled using
          :func:`asyncio.run_coroutine_threadsafe`. While the coroutine is
          "awaited", the result is not available as method returns immediately.
  
          Args:
              coro: The :term:`coroutine` to schedule
              loop: The :class:`event loop <asyncio.BaseEventLoop>` on which to
                  schedule the coroutine
  
          Note:
              This method is used internally by :meth:`__call__` and is not meant
              to be called directly.