Saltar al contenido principal

StorageChunkSource

StorageChunkSource es una implementación avanzada de ChunkSource que devuelve los chunks desde un StorageAdapter. Permite dos tipos de acceso:

  • HashStorageAdapter — devuelve chunks a partir de un hash.
  • UrlStorageAdapter — devuelve chunks a partir de urls, usando el campo opcional urlsMap.

Es la opción ideal cuando los chunks vienen de servidores remotos, CDNs, buckets S3 u otros backends de almacenamiento.

El StorageChunkSource será creado automáticamente por las pipelines, o manualmente usando:

let client: RacDeltaClient = RacDeltaClient::new(config).await?;

let chunk_source: StorageChunkSource = StorageChunkSource::new(client.storage, None);

Constructor

ParámetroTipoDescripción
storageArc<StorageAdapterEnum>Adaptador que define cómo y desde dónde se conseguirán los chunks.
urls_mapOption<Arc<HashMap<String, String>>>Obligatorio cuando se usa un UrlStorageAdapter. Mapea hash -> URL.

Métodos

MétodoDevuelveDescripción
get_chunk(hash)Result<Vec<u8>, ChunkError>Devuelve un único chunk a partir de su hash.
get_chunks(hashes, options)Result<HashMap<String, Vec<u8>>, ChunkError>Devuelve múltiples chunks de forma concurrente.
stream_chunks(hashes, options)Option<BoxStream<'static, Result<ChunkData, ChunkError>>>Streaming de chunks, puede preservar el orden.

Relacionado