Trait opendal::raw::LayeredAccessor
source · pub trait LayeredAccessor: Send + Sync + Debug + Unpin + 'static {
type Inner: Accessor;
type Reader: Read;
type BlockingReader: BlockingRead;
type Writer: Write;
type BlockingWriter: BlockingWrite;
type Lister: List;
type BlockingLister: BlockingList;
Show 20 methods
// Required methods
fn inner(&self) -> &Self::Inner;
fn read<'life0, 'life1, 'async_trait>(
&'life0 self,
path: &'life1 str,
args: OpRead
) -> Pin<Box<dyn Future<Output = Result<(RpRead, Self::Reader)>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn write<'life0, 'life1, 'async_trait>(
&'life0 self,
path: &'life1 str,
args: OpWrite
) -> Pin<Box<dyn Future<Output = Result<(RpWrite, Self::Writer)>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn list<'life0, 'life1, 'async_trait>(
&'life0 self,
path: &'life1 str,
args: OpList
) -> Pin<Box<dyn Future<Output = Result<(RpList, Self::Lister)>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn blocking_read(
&self,
path: &str,
args: OpRead
) -> Result<(RpRead, Self::BlockingReader)>;
fn blocking_write(
&self,
path: &str,
args: OpWrite
) -> Result<(RpWrite, Self::BlockingWriter)>;
fn blocking_list(
&self,
path: &str,
args: OpList
) -> Result<(RpList, Self::BlockingLister)>;
// Provided methods
fn metadata(&self) -> AccessorInfo { ... }
fn create_dir<'life0, 'life1, 'async_trait>(
&'life0 self,
path: &'life1 str,
args: OpCreateDir
) -> Pin<Box<dyn Future<Output = Result<RpCreateDir>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn copy<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
from: &'life1 str,
to: &'life2 str,
args: OpCopy
) -> Pin<Box<dyn Future<Output = Result<RpCopy>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait { ... }
fn rename<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
from: &'life1 str,
to: &'life2 str,
args: OpRename
) -> Pin<Box<dyn Future<Output = Result<RpRename>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait { ... }
fn stat<'life0, 'life1, 'async_trait>(
&'life0 self,
path: &'life1 str,
args: OpStat
) -> Pin<Box<dyn Future<Output = Result<RpStat>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn delete<'life0, 'life1, 'async_trait>(
&'life0 self,
path: &'life1 str,
args: OpDelete
) -> Pin<Box<dyn Future<Output = Result<RpDelete>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn batch<'life0, 'async_trait>(
&'life0 self,
args: OpBatch
) -> Pin<Box<dyn Future<Output = Result<RpBatch>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait { ... }
fn presign<'life0, 'life1, 'async_trait>(
&'life0 self,
path: &'life1 str,
args: OpPresign
) -> Pin<Box<dyn Future<Output = Result<RpPresign>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn blocking_create_dir(
&self,
path: &str,
args: OpCreateDir
) -> Result<RpCreateDir> { ... }
fn blocking_copy(
&self,
from: &str,
to: &str,
args: OpCopy
) -> Result<RpCopy> { ... }
fn blocking_rename(
&self,
from: &str,
to: &str,
args: OpRename
) -> Result<RpRename> { ... }
fn blocking_stat(&self, path: &str, args: OpStat) -> Result<RpStat> { ... }
fn blocking_delete(&self, path: &str, args: OpDelete) -> Result<RpDelete> { ... }
}
Expand description
LayeredAccessor is layered accessor that forward all not implemented method to inner.