def _read_one_frame(self):
        """
        Reads a single data frame from the stream and returns it.
        """
        # Keep reading until the stream is closed or we have a data frame.
        while not self.remote_closed and not self.data:
            self._recv_cb()

        try:
            return self.data.pop(0)
        except __HOLE__:
            return None
dataset/ETHPy150Open Lukasa/hyper/hyper/http20/stream.py/Stream._read_one_frame