.context("open bundle file")?;
let mut f = BufReader::new(f);
let hash = {
- let mut dw = DigestWrite::<bundles::Digester,_>::sink();
+ let mut dw = bundles::DigestWrite::sink();
io::copy(&mut f, &mut dw).context("read bundle file (for hash)")?;
dw.finish().0
};
use crate::prelude::*;
pub use crate::prelude::Sha512Trunc256 as Digester;
+pub type DigestWrite<W> = crate::utils::DigestWrite<Digester, W>;
#[derive(Debug,Copy,Clone,Hash,Eq,PartialEq,Serialize,Deserialize)]
pub struct Hash(pub [u8; 32]);
pub struct Uploading {
instance: Arc<InstanceName>,
id: Id,
- file: DigestWrite<Digester, BufWriter<fs::File>>,
+ file: DigestWrite<BufWriter<fs::File>>,
}
#[throws(IE)]
let exp = Sha512Trunc256::digest(&ibuffer[..]);
let mut obuffer = [0;4];
let inner = &mut obuffer[..];
- let mut dw = DigestWrite::<Sha512Trunc256,_>::new(inner);
+ let mut dw = bundles::DigestWrite::new(inner);
assert_eq!( dw.write(&ibuffer[..]).unwrap(), 3);
let (got, recov) = dw.finish();
assert_eq!( recov, b"\0" );