Saltar al contenido principal

ReconstructionService

ReconstructionService define la interfaz principal responsable de reconstruir archivos desde sus chunks, ya sea a disco o stream. Este servicio se comunica directamente con un ChunkSource para obtener los datos necesarios y reconstruir el archivo.

Sirve como el componente principal del proceso de restauración en rac-delta.


Métodos

MétodoDevuelveDescripción
reconstructFile(entry, outputPath, chunkSource, options?)Promise<void>Reconstruye un único archivo en disco.
reconstructAll(plan, outputDir, chunkSource, options?)Promise<void>Reconstruye todos los archivos de un DeltaPlan en disco.
reconstructToStream(entry, chunkSource)Promise<Readable>Reconstruye un archivo en memoria y lo devuelve como Readable stream.

ReconstructionOptions

Opciones para el proceso de reconstrucción:

export interface ReconstructionOptions {
forceRebuild?: boolean;
verifyAfterRebuild?: boolean;
inPlaceReconstructionThreshold?: number;
fileConcurrency?: number;
onProgress?: (
reconstructProgress: number,
diskSpeed: number,
networkProgress?: number,
networkSpeed?: number
) => void;
}
ParámetroTipoDescripción
forceRebuildbooleanForzar la reconstrucción incluso si el hash del archivo coincide.
verifyAfterRebuildbooleanVerifica el hash del archivo reconstruido tras terminar. Si el hash no coincide, se lanza un error.
inPlaceReconstructionThresholdnumberTamaño de archivo mínimo (en bytes) necesarios para realizar una reconstrucción in-place en lugar de usar un archivo temporal.
fileConcurrencynumberCuántos archivos se reconstruirán de forma concurrente (valor por defecto es 5).
onProgressbooleanCallback que devuelve el uso de disco y la velocidad de red opcional (solo para chunk sources de almacenamiento vía streaming descarga-reconstrucción)

Detalles de métodos

reconstructFile(entry, outputPath, chunkSource, options?)

Reconstruye un solo archivo desde un FileEntry en disco.

Parámetros:

NombreTipoDescripción
entryFileEntryEl FileEntry que contiene la lista de chunks y la ruta del archivo.
outputPathstringLa ruta donde el archivo será reconstruido.
chunkSourceChunkSourceLa implementación de chunk source desde donde se recolectarán los chunks.
options?ReconstructionOptionsOpciones para la reconstrucción.

Devuelve: Promise<void>


reconstructAll(plan, outputDir, chunkSource, options?)

Reconstruye todos los archivos del DeltaPlan dado en disco.

Parámetros:

NombreTipoDescripción
planDeltaPlanEl DeltaPlan que contiene los archivos a reconstruir.
outputDirstringLa ruta donde los archivos serán reconstruidos.
chunkSourceChunkSourceLa implementación de chunk source desde donde se recolectarán los chunks.
options?ReconstructionOptionsOpciones para la reconstrucción.

Devuelve: Promise<void>


reconstructToStream(entry, chunkSource)

Reconstruye un archivo en memoria y lo devuelve como un Readable stream.

Parámetros:

NombreTipoDescripción
entryFileEntryEl FileEntry que contiene la lista de chunks y la ruta del archivo.
chunkSourceChunkSourceLa implementación de chunk source desde donde se recolectarán los chunks.

Devuelve: Promise<void>


Relacionado