pub async fn try_fetch_parallel(
endpoint: &Endpoint,
blobs: &BlobStore,
hash: Hash,
providers: &[(PublicKey, BlobTicket)],
config: &ParallelDownloadConfig,
) -> Result<TryParallelResult>Expand description
Try to download a blob in parallel from multiple providers.
§Phase 1 (stripe interleaving)
Chunks are divided into 1 MiB stripes assigned via deterministic scoring. Each provider gets a deadline of 8× estimated completion based on observed download rate.
§Phase 2 (retry)
Stripes that failed in phase 1 are reassigned to surviving providers with a tighter 4× deadline.
§Errors
Returns an error if the temporary file cannot be created, or if the assembled blob does not match the expected hash.