Files
keep/src/digest_engine/none.rs
2025-05-12 20:36:15 -03:00

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(())
}
}