45 lines
896 B
Rust
45 lines
896 B
Rust
use anyhow::Result;
|
|
use crate::digest_engine::DigestEngine;
|
|
use std::io::{Read, Write};
|
|
use std::io;
|
|
|
|
#[derive(Debug, Eq, PartialEq, Clone, Default)]
|
|
pub struct DigestEngineNone {}
|
|
|
|
impl DigestEngineNone {
|
|
pub fn new() -> DigestEngineNone {
|
|
DigestEngineNone {}
|
|
}
|
|
}
|
|
|
|
impl DigestEngine for DigestEngineNone {
|
|
fn create(&self) -> Result<Box<dyn Write>> {
|
|
Ok(Box::new(DummyWriter::new()))
|
|
}
|
|
|
|
fn finalize(&mut self) -> io::Result<String> {
|
|
Ok("none".to_string())
|
|
}
|
|
|
|
fn update(&mut self, _data: &[u8]) {}
|
|
}
|
|
|
|
// Dummy writer that implements Write for the none digest engine
|
|
struct DummyWriter;
|
|
|
|
impl DummyWriter {
|
|
fn new() -> Self {
|
|
DummyWriter
|
|
}
|
|
}
|
|
|
|
impl Write for DummyWriter {
|
|
fn write(&mut self, _buf: &[u8]) -> io::Result<usize> {
|
|
Ok(0)
|
|
}
|
|
|
|
fn flush(&mut self) -> io::Result<()> {
|
|
Ok(())
|
|
}
|
|
}
|