scatter_net/legacy/net/methods/
fetch_blob.rs

1use 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}