def wait_for_feedback_results(
        self, feedback_timeout: Optional[float] = None
    ) -> Dict[
        feedback_schema.FeedbackDefinition,
        feedback_schema.FeedbackResult,
    ]:
        """Wait for feedback results to finish.

        Args:
            feedback_timeout: Timeout in seconds for each feedback function. If
                not given, will use the default timeout
                `trulens.core.utils.threading.TP.DEBUG_TIMEOUT`.

        Returns:
            A mapping of feedback functions to their results.
        """
        if feedback_timeout is None:
            feedback_timeout = threading_utils.TP.DEBUG_TIMEOUT

        if self.feedback_and_future_results is None:
            return {}

        ret = {}

        for feedback_def, future_result in self.feedback_and_future_results:
            try:
                feedback_result = future_result.result(timeout=feedback_timeout)
                ret[feedback_def] = feedback_result
            except TimeoutError:
                logger.error(
                    "Timeout waiting for feedback result for %s.",
                    feedback_def.name,
                )

        return ret
Wait for feedback results to finish.

        Args:
            feedback_timeout: Timeout in seconds for each feedback function. If
                not given, will use the default timeout
                `trulens.core.utils.threading.TP.DEBUG_TIMEOUT`.

        Returns:
            A mapping of feedback functions to their results.
        
src/core/trulens/core/schema/record.py