acr 0.4.3

All shared code across the whole Acridotheres project
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use dh::Readable;
use murmur3::murmur3_32;
use std::io::Result;

pub fn hash<'a>(file: &'a mut dyn Readable<'a>, offset: u64, size: u64, seed: u32) -> Result<u32> {
    let pos_before = file.pos()?;

    let mut limited = file.limit(offset, size)?;

    let result = murmur3_32(&mut limited, seed)?;
    let file = limited.unlimit();

    file.to(pos_before)?;

    Ok(result)
}