pub trait DavDownloadSource: Send + Sync {
type Metadata: DavMetaData;
// Required methods
fn metadata<'a>(
&'a self,
path: &'a DavPath,
) -> impl Future<Output = Result<Self::Metadata, DavBackendError>> + Send + 'a;
fn open_full<'a>(
&'a self,
path: &'a DavPath,
) -> impl Future<Output = Result<DavOpenedDownload, DavBackendError>> + Send + 'a;
fn open_range<'a>(
&'a self,
path: &'a DavPath,
range: HttpByteRange,
) -> impl Future<Output = Result<DavOpenedDownload, DavBackendError>> + Send + 'a;
}Expand description
Product adapter used by GET/HEAD after the protocol layer selects a representation.
Required Associated Types§
type Metadata: DavMetaData
Required Methods§
fn metadata<'a>( &'a self, path: &'a DavPath, ) -> impl Future<Output = Result<Self::Metadata, DavBackendError>> + Send + 'a
fn open_full<'a>( &'a self, path: &'a DavPath, ) -> impl Future<Output = Result<DavOpenedDownload, DavBackendError>> + Send + 'a
fn open_range<'a>( &'a self, path: &'a DavPath, range: HttpByteRange, ) -> impl Future<Output = Result<DavOpenedDownload, DavBackendError>> + Send + 'a
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.