Saltar al contenido principal

DiskChunkSource

DiskChunkSource es una implementación de ChunkSource que guarda y devuelve los chunks directamente desde el sistema de archivos (temporalmente).


Constructor

ParámetroTipoDescripción
cacheDirstringDirectorio donde se guardarán los chunks temporalmente.

Métodos

MétodoDevuelveDescripción
getChunk(hash)Promise<Buffer>Devuelve un único chunk por su hash.
getChunks(hashes, options?)Promise<Map<string, Buffer>>Método para devolver múltiples chunks de forma concurrente.
hasChunk(hash)booleanComprueba que un chunk existe en disco.
setChunk(hash, data)voidAñade o actualiza un chunk en disco.
clear()voidLimpia todos los chunks almacenados en caché del disco.

Ejemplo de uso

import { DiskChunkSource } from 'rac-delta';
import { Readable } from 'stream';

const source = new DiskChunkSource('./cache');

// Guarda un chunk desde un buffer
await source.setChunk('abcd1234', Buffer.from('Hello world'));

// Guarda un chunk desde un stream
const stream = Readable.from(['streamed data']);
await source.setChunk('ef456', stream);

// Devuelve un chunk
const chunk = await source.getChunk('abcd1234');
console.log(chunk.toString()); // 'Hello world'

// Comprueba existencia
const exists = await source.hasChunk('abcd1234'); // true

// Devuelve múltiples chunks
const results = await source.getChunks(['abcd1234', 'ef456']);
console.log(results.get('ef456')?.toString()); // 'streamed data'

// Limpia los chunks
await source.clear();

Relacionado