Function blosc::decompress_bytes[][src]

pub unsafe fn decompress_bytes<T>(src: &[u8]) -> Result<Vec<T>, ()>

Decompress arbitrary data into a newly allocated Vec

Use this method when decompressing serialized data from disk, or receiving it over the network.

Safety

This function is unsafe because it can transmute data into an arbitrary type. That can cause memory errors if the type parameter contains references, pointers, or does anything interesting on Drop. To use safely, the caller must ensure that the serialized data really was created by Blosc, with the correct type.

This function is also unsafe if the compressed buffer is untrusted. See Blosc issue #229.

Example

let serialized: Vec<u8> = vec![2, 1, 19, 4, 12, 0, 0, 0, 12, 0, 0, 0,
    28, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0];
let decompressed = unsafe{ decompress_bytes(&serialized[..])}.unwrap();
assert_eq!(&[1, 2, 3], &decompressed[..]);