code: def start_asyncio_and_zmq(debug_asyncio=False):
      
      loop = ZMQEventLoop()
      asyncio.set_event_loop(loop)
      if debug_asyncio:
          loop.set_debug(True)
      zmq_context = Context()
  
      t = threading.Thread(target=_run_asyncio, args=(loop, zmq_context), daemon=True)
      t.start()
  
      return zmq_context, t
docs: Init asyncio and ZMQ. Starts a daemon thread in which the asyncio loops run.
      :return: a ZMQ context and a Thread object (as a tuple)