class_docstr: Publisher to GCS. Uses async io.
class_docstr_tok: ["Publisher","to","GCS",".","Uses","async","io","."]
code: def __init__(
      self, address: str = None, channel: aiogrpc.Channel = None
  ):
      if address:
          assert (
              channel is None
          ), "address and channel cannot both be specified"
          channel = gcs_utils.create_gcs_channel(address, aio=True)
      else:
          assert (
              channel is not None
          ), "One of address and channel must be specified"
      self._stub = gcs_service_pb2_grpc.InternalPubSubGcsServiceStub(
          channel
      )
  
imports: import asyncio
  from collections import deque
  import logging
  import random
  from typing import Tuple, List
  import grpc
  from ray._private.utils import get_or_create_event_loop
  import ray._private.gcs_utils
  import ray._private.logging_utils
  from ray.core.generated.gcs_pb2 import ErrorTableData
  from ray.core.generated import dependency_pb2
  from ray.core.generated import gcs_service_pb2_grpc
  from ray.core.generated import gcs_service_pb2
  from ray.core.generated import common_pb2
  from ray.core.generated import pubsub_pb2
label_desc: Use image node_id 1 to create a new GcsAioPublisher object from inherited base classes: _PublisherBase with example: obj = GcsAioPublisher(address, channel)