code: def __init__(
      self,
      loop=None,
      executor=None,
      address: Optional[str] = None,
      nums_reconnect_retry: int = 5,
  ):
      if loop is None:
          loop = ray._private.utils.get_or_create_event_loop()
      if executor is None:
          executor = ThreadPoolExecutor(
              max_workers=GCS_AIO_CLIENT_DEFAULT_THREAD_COUNT,
              thread_name_prefix="gcs_aio_client",
          )
  
      self._gcs_client = GcsClient(
          address,
          nums_reconnect_retry,
      )
      self._async_proxy = AsyncProxy(self._gcs_client, loop, executor)
      self._nums_reconnect_retry = nums_reconnect_retry
  
file_path: ray/python/ray/_private/gcs_aio_client.py
imports: import logging
  from typing import Dict, List, Optional
  from concurrent.futures import ThreadPoolExecutor
  from ray._raylet import GcsClient
  from ray.core.generated import gcs_pb2
  import ray._private.utils
  from ray._private.ray_constants import env_integer
label_desc: Use image node_id 1 to create a new GcsAioClient object  with example: obj = GcsAioClient(loop, executor, address, nums_reconnect_retry)