class_docstr: Interface for back pressure policies.
docstr: Determine how many blocks of data we can read from each operator.
  The `DataOpTask`s of the operators will stop reading blocks when the limit is
  reached. Then the execution of these tasks will be paused when the streaming
  generator backpressure threshold is reached.
  Used in `streaming_executor_state.py::process_completed_tasks()`.
  
  Returns: A dict mapping from each operator's OpState to the desired number of
      blocks to read. For operators that are not in the dict, all available blocks
      will be read.
  
  Note: Only one backpressure policy that implements this method can be enabled
      at a time.
docstr_tok: ["Determine","how","many","blocks","of","data","we","can","read","from","each","operator",".","The","`","DataOpTask","`","s","of","the","operators","will","stop","reading","blocks","when","the","limit","is","reached",".","Then","the","execution","of","these","tasks","will","be","paused","when","the","streaming","generator","backpressure","threshold","is","reached",".","Used","in","`","streaming_executor_state.py",":",":process_completed_tasks","(",")","`",".","Returns",":","A","dict","mapping","from","each","operator","'s","OpState","to","the","desired","number","of","blocks","to","read",".","For","operators","that","are","not","in","the","dict",",","all","available","blocks","will","be","read",".","Note",":","Only","one","backpressure","policy","that","implements","this","method","can","be","enabled","at","a","time","."]
code: def calculate_max_blocks_to_read_per_op(
      self, topology: "Topology"
  ) -> Dict["OpState", int]:
      """Determine how many blocks of data we can read from each operator.
      The `DataOpTask`s of the operators will stop reading blocks when the limit is
      reached. Then the execution of these tasks will be paused when the streaming
      generator backpressure threshold is reached.
      Used in `streaming_executor_state.py::process_completed_tasks()`.
  
      Returns: A dict mapping from each operator's OpState to the desired number of
          blocks to read. For operators that are not in the dict, all available blocks
          will be read.
  
      Note: Only one backpressure policy that implements this method can be enabled
          at a time.
      """
      return {}
  
imports: from abc import ABC, abstractmethod
  from typing import TYPE_CHECKING, Dict
label_desc: Use image node_id 2 for calling the BackpressurePolicy obj's underlying member method code with example usage: obj.calculate_max_blocks_to_read_per_op(topology) and returns: dict