class_docstr: Class that handles the requests arriving to the gateway and the result extracted from the requests future.
  
  :param metrics_registry: optional metrics registry for prometheus used if we need to expose metrics from the executor or from the data request handler
  :param runtime_name: optional runtime_name that will be registered during monitoring
class_docstr_tok: ["Class","that","handles","the","requests","arriving","to","the","gateway","and","the","result","extracted","from","the","requests","future",".",":","param","metrics_registry",":","optional","metrics","registry","for","prometheus","used","if","we","need","to","expose","metrics","from","the","executor","or","from","the","data","request","handler",":","param","runtime_name",":","optional","runtime_name","that","will","be","registered","during","monitoring"]
code: def __init__(
      self,
      metrics_registry: Optional["CollectorRegistry"] = None,
      meter: Optional["Meter"] = None,
      runtime_name: Optional[str] = None,
      logger: Optional[JinaLogger] = None,
  ):
      super().__init__(metrics_registry, meter, runtime_name)
      self._endpoint_discovery_finished = False
      self._gathering_endpoints = False
      self.logger = logger or JinaLogger(self.__class__.__name__)
  
file_path: jina/jina/serve/runtimes/gateway/async_request_response_handling.py
imports: import asyncio
  import copy
  from typing import TYPE_CHECKING, AsyncGenerator, Callable, List, Optional, Tuple, Type
  import grpc.aio
  from jina._docarray import DocumentArray, docarray_v2
  from jina.excepts import InternalNetworkError
  from jina.helper import GATEWAY_NAME
  from jina.logging.logger import JinaLogger
  from jina.serve.networking import GrpcConnectionPool
  from jina.serve.runtimes.gateway.graph.topology_graph import TopologyGraph
  from jina.serve.runtimes.helper import _is_param_for_specific_executor
  from jina.serve.runtimes.monitoring import MonitoringRequestMixin
  from jina.serve.runtimes.worker.request_handling import WorkerRequestHandler
label_desc: Use image node_id 1 to create a new AsyncRequestResponseHandler object from inherited base classes: MonitoringRequestMixin with example: obj = AsyncRequestResponseHandler(metrics_registry, meter, runtime_name, logger)