From 525dfb443c046474eb58ed6d6c9077ee83741cdf Mon Sep 17 00:00:00 2001 From: Aly Raffauf Date: Mon, 3 Aug 2026 01:33:35 -0400 Subject: [PATCH] Reuse Iroh blob downloader --- src/iroh.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/iroh.rs b/src/iroh.rs index 7119914..8e026eb 100644 --- a/src/iroh.rs +++ b/src/iroh.rs @@ -12,6 +12,7 @@ use anyhow::Context; use futures_util::{StreamExt, stream}; use iroh_blobs::{ BlobsProtocol, Hash, + api::downloader::Downloader, provider::events::{EventMask, EventSender, ProviderMessage, RequestMode}, store::fs::FsStore, }; @@ -83,6 +84,7 @@ pub(super) struct HostedFolder { pub struct NodeHost { endpoint: Endpoint, store: FsStore, + downloader: Downloader, router: Router, folders: Arc>>, discovered_peers: Arc>>, @@ -113,6 +115,7 @@ impl NodeHost { .bind() .await?; let store = FsStore::load(&blob_directory).await?; + let downloader = store.downloader(&endpoint); let folders = Arc::new(RwLock::new(BTreeMap::new())); let discovered_peers = Arc::new(Mutex::new(BTreeMap::new())); let announced_folders = Arc::new(Mutex::new(BTreeMap::new())); @@ -143,6 +146,7 @@ impl NodeHost { Ok(Self { endpoint, store, + downloader, router, folders, discovered_peers, @@ -197,9 +201,7 @@ impl NodeHost { ) -> anyhow::Result<()> { wait_for_blob_operation( "download", - self.store - .downloader(&self.endpoint) - .download(blob_hash, Some(provider.id)), + self.downloader.download(blob_hash, Some(provider.id)), ) .await?; Ok(()) -- 2.51.2