pub trait AsyncReaderFactory {
    // Required method
    fn get_reader<'a, 'async_trait>(
        &'a mut self,
    ) -> Pin<Box<dyn Future<Output = Result<Box<dyn AsyncRead + Sync + Send + Unpin + 'static>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'a: 'async_trait;
}Expand description
An AsyncReaderFactory can produce, on demand, an AsyncRead object. In the event of an upload failure, the restarted upload will use a fresh reader to start reading object content at the beginning.