docs: def ProcessAllReadyRequests(self):
      """Processes all requests that are due to run.
  
      Returns:
        The number of processed requests.
      """
      request_dict = data_store.REL_DB.ReadFlowRequestsReadyForProcessing(
          self.rdf_flow.client_id,
          self.rdf_flow.flow_id,
          next_needed_request=self.rdf_flow.next_request_to_process)
      if not request_dict:
        return 0
  
      processed = 0
      while self.rdf_flow.next_request_to_process in request_dict:
        request, responses = request_dict[self.rdf_flow.next_request_to_process]
        self.RunStateMethod(request.next_state, request, responses)
        self.rdf_flow.next_request_to_process += 1
        processed += 1
        self.completed_requests.append(request)
  
      if processed and self.IsRunning() and not self.outstanding_requests:
        self.RunStateMethod("End")
        if (self.rdf_flow.flow_state == self.rdf_flow.FlowState.RUNNING and
            not self.outstanding_requests):
          self.MarkDone()
  
      self.PersistState()
  
      if not self.IsRunning():
        # All requests and responses can now be deleted.
        self._ClearAllRequestsAndResponses()
  
      return processed