def _wait_for_content_frames(self, method_frame):
        if self.closing or self.closed:
            return None

        consuming = isinstance(method_frame, spec.Basic.Deliver)
        if consuming and not self._consumers:
            return None

        if self._is_debugging:
            LOGGER.debug('Waiting on content frames for %s: %r',
                         method_frame.name, method_frame.delivery_tag)

        header_value = self._wait_on_frame(CONTENT_HEADER)
        if not header_value:
            self._reject_inbound_message(method_frame)
            return None

        self._check_for_rpc_request(header_value)
        if self._interrupt_is_set:
            return self._on_interrupt_set()

        body_value = bytes() if PYTHON3 else str()
        while len(body_value) < header_value.body_size:
            body_part = self._wait_on_frame(CONTENT_BODY)
            self._check_for_rpc_request(body_part)
            if self._interrupt_is_set:
                return self._on_interrupt_set()
            if not body_part:
                break
            body_value += body_part.value
            if len(body_value) == header_value.body_size:
                break
            if self.closing or self.closed:
                return None
            if consuming and not self._consumers:
                self._reject_inbound_message(method_frame)
                return None
        return self._create_message(method_frame, header_value, body_value)
Rasmussen suggests the use of a numerically stable positive definite matrix B
dataset/ETHPy150Open gmr/rabbitpy/rabbitpy/channel.py/Channel._wait_for_content_frames--crossover with--dataset/ETHPy150Open SheffieldML/GPy/GPy/inference/latent_function_inference/laplace.py/LaplaceBlock._compute_B_statistics