fn assemble_ranges(
ranges: &[Range<u64>],
cached_parts: Vec<Vec<PageRangePart>>,
fetched_parts: &[PageRangePart],
) -> Result<Vec<Bytes>>fn assemble_ranges(
ranges: &[Range<u64>],
cached_parts: Vec<Vec<PageRangePart>>,
fetched_parts: &[PageRangePart],
) -> Result<Vec<Bytes>>