async def METHOD_NAME(self):
    try:
        # Recv meta data
        nframes = np.empty(1, dtype=np.uint64)
        await self.ep.recv(nframes)
        is_cudas = np.empty(nframes[0], dtype=bool)
        await self.ep.recv(is_cudas)
        sizes = np.empty(nframes[0], dtype=np.uint64)
        await self.ep.recv(sizes)
    except (ucp.exceptions.UCXCanceled, ucp.exceptions.UCXCloseError) as e:
        msg = "SOMETHING TERRIBLE HAS HAPPENED IN THE TEST"
        raise e(msg)
    else:
        # Recv frames
        frames = []
        for is_cuda, size in zip(is_cudas.tolist(), sizes.tolist()):
            if size > 0:
                if is_cuda:
                    frame = cuda.device_array((size,), dtype=np.uint8)
                else:
                    frame = np.empty(size, dtype=np.uint8)
                await self.ep.recv(frame)
                frames.append(frame)
            else:
                if is_cuda:
                    frames.append(cuda.device_array((0,), dtype=np.uint8))
                else:
                    frames.append(b"")
        return frames