class_docstr: Defines the input data for the operator DAG.
  
  For example, this may hold cached blocks from a previous Dataset execution, or
  the arguments for read tasks.
code: def start(self, options: ExecutionOptions) -> None:
      if not self._is_input_initialized:
          self._input_data = self._input_data_factory(
              self.actual_target_max_block_size
          )
          self._is_input_initialized = True
          self._initialize_metadata()
      # InputDataBuffer does not take inputs from other operators,
      # so we record input metrics here
      for bundle in self._input_data:
          self._metrics.on_input_received(bundle)
      super().start(options)
  
file_path: ray/python/ray/data/_internal/execution/operators/input_data_buffer.py
imports: from typing import Callable, List, Optional
  from ray.data._internal.execution.interfaces import ExecutionOptions, PhysicalOperator, RefBundle
  from ray.data._internal.stats import StatsDict
label_desc: Use image node_id 2 for calling the InputDataBuffer obj's underlying member method code with example usage: obj.start(options) without return types