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 Pager: Page;
type BlockingPager: BlockingPage;
Show 18 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::Pager)>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn scan<'life0, 'life1, 'async_trait>(
&'life0 self,
path: &'life1 str,
args: OpScan
) -> Pin<Box<dyn Future<Output = Result<(RpScan, Self::Pager)>> + 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::BlockingPager)>;
fn blocking_scan(
&self,
path: &str,
args: OpScan
) -> Result<(RpScan, Self::BlockingPager)>;
// Provided methods
fn metadata(&self) -> AccessorInfo { ... }
fn create<'life0, 'life1, 'async_trait>(
&'life0 self,
path: &'life1 str,
args: OpCreate
) -> Pin<Box<dyn Future<Output = Result<RpCreate>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: '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(&self, path: &str, args: OpPresign) -> Result<RpPresign> { ... }
fn blocking_create(&self, path: &str, args: OpCreate) -> Result<RpCreate> { ... }
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.