pub trait StorageNode {
fn put<'life0, 'async_trait>(
&'life0 self,
id: String,
info: BlobInfoRequest,
stream: Option<Box<dyn Stream<Item = Result<Bytes, Error>> + Send + Sync + Unpin>>
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn write<'life0, 'life1, 'async_trait>(
&'life0 self,
id: String,
range: (Bound<u64>, Bound<u64>),
bytes: Bytes,
username: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait;
fn get<'life0, 'async_trait>(
&'life0 self,
blob_id: String,
range: Option<(Bound<u64>, Bound<u64>)>
) -> Pin<Box<dyn Future<Output = Result<Blob>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn update_meta<'life0, 'async_trait>(
&'life0 self,
blob_id: String,
info: BlobInfoRequest
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn delete<'life0, 'life1, 'async_trait>(
&'life0 self,
blob_id: String,
username: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait;
fn get_certificates<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Option<CertificateInfo>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn fsync<'life0, 'life1, 'async_trait>(
&'life0 self,
blob_id: String,
username: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait;
fn flush<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
}