murmur3_32 0.1.0

implementation of MurmurHash3 32bit algorithm
Documentation
extern crate std;

use super::Murmur3;
use std::io;
pub struct Murmur3Io<W> {
    pub(crate) hasher: Murmur3,
    inner: W,
}
impl<W> Murmur3Io<W> {
    pub fn new(seed: u32, inner: W) -> Self {
        Self {
            inner,
            hasher: Murmur3::new(seed),
        }
    }
    pub fn finish(self) -> (u32, W) {
        (self.hasher.finish(), self.inner)
    }
}

impl<R: io::Read> io::Read for Murmur3Io<R> {
    fn read(&mut self, buf: &mut [u8]) -> io::Result<usize> {
        let n = self.inner.read(buf)?;
        self.hasher.write(&buf[..n]);
        Ok(n)
    }
}

impl<W: io::Write> io::Write for Murmur3Io<W> {
    fn write(&mut self, buf: &[u8]) -> io::Result<usize> {
        let n = self.inner.write(buf)?;
        self.hasher.write(&buf[..n]);
        Ok(n)
    }
    fn flush(&mut self) -> io::Result<()> {
        self.inner.flush()
    }
}