class_docstr: Stores a _BatchQueue and updates its settings.
  
  _BatchQueue cannot be pickled, you must construct it lazily
  at runtime inside a replica. This class initializes a queue only upon
  first access.
docstr: Returns _BatchQueue.
  
  Initializes queue when called for the first time.
docstr_tok: ["Returns","_BatchQueue",".","Initializes","queue","when","called","for","the","first","time","."]
code: def queue(self) -> Type[_BatchQueue]:
      """Returns _BatchQueue.
  
      Initializes queue when called for the first time.
      """
      if self._queue is None:
          self._queue = self.batch_queue_cls(
              self.max_batch_size,
              self.batch_wait_timeout_s,
              self.handle_batch_func,
          )
      return self._queue
  
imports: import asyncio
  import time
  from dataclasses import dataclass
  from functools import wraps
  from inspect import isasyncgenfunction, iscoroutinefunction
  from typing import Any, AsyncGenerator, Callable, Dict, Iterable, List, Optional, Tuple, Type, TypeVar, overload
  from ray._private.signature import extract_signature, flatten_args, recover_args
  from ray._private.utils import get_or_create_event_loop
  from ray.serve._private.utils import extract_self_if_method_call
  from ray.serve.exceptions import RayServeException
  from ray.util.annotations import PublicAPI
label_desc: Use image node_id 2 for calling the _LazyBatchQueueWrapper obj's underlying member method code with example usage: obj.queue() and returns: self