scatter_net/legacy/net/methods/
fetch_blob.rs1use ps_buffer::{BufferError, SharedBuffer, ToSharedBuffer};
2use ps_hkey::Hkey;
3
4use crate::ScatterNet;
5
6impl ScatterNet {
7 pub async fn fetch_blob(self, hkey: &Hkey) -> Result<SharedBuffer, ScatterNetFetchBlobError> {
8 let buffer = hkey
9 .resolve_async(&self)
10 .await?
11 .data_ref()
12 .to_shared_buffer()?;
13
14 Ok(buffer)
15 }
16}
17
18#[derive(thiserror::Error, Debug)]
19pub enum ScatterNetFetchBlobError {
20 #[error(transparent)]
21 AsyncStore(#[from] crate::ScatterNetAsyncStoreError),
22 #[error(transparent)]
23 Buffer(#[from] BufferError),
24}