Saltar al contenido principal

ValidationService

ValidationService valida los archivos y los objetos RDIndex. Internamente usa HasherService para verificar hashes de archivo y chunks.

pub trait ValidationService: Send + Sync {
...
}

Métodos

MétodoDevuelveDescripción
validate_file(entry, path)Result<bool, ValidationError>Valida un único archivo con su FileEntry.
validate_index(index, base_path)Result<bool, ValidationError>Valida todos los archivos de un RDIndex.

ValidationError

Enum de errores personalizado para los resultados de ValidationService. (Usa thiserror)

pub enum ValidationError {
#[error("IO error: {0}")]
Io(#[from] std::io::Error),

#[error("Hash verification failed")]
HashMismatch,
}

Detalles de métodos

validate_file(entry, path)

Verifica un archivo.

Parámetros:

NombreTipoDescripción
entry&FileEntryMetadatos del archivo a validar.
path&strRuta del archivo en disco.

Devuelve: Result<bool, ValidationError>true si el archivo es válido.

Nota: Usa HasherService internamente para verificar el hash del archivo y sus chunks.


validate_index(index, base_path)

Vefifica todos los archivos de un rd-index.json.

Parámetros:

NombreTipoDescripción
index&RDIndexObjeto RDIndex con los archivos a validar.
base_path&strDirectorio contenedor de los archivos.

Devuelve: Result<bool, ValidationError>true si todos los archivos son válidos.

Nota: Internamente llama a validateFile para cada archivo usando HasherService.

Relacionado