where R: Read, PW: Write
{
let mut for_progress = progress::ResponseOriginator::new(for_progress);
- let mut for_progress: &mut dyn progress::Originator = &mut for_progress;
+ let for_progress: &mut dyn progress::Originator = &mut for_progress;
let Uploading { id, mut file, instance } = self;
let tmp = id.path_tmp(&instance);
let mut data_reporter = progress::ReadOriginator::new(
- &mut for_progress, Phase::Upload, size, data);
+ for_progress, Phase::Upload, size, data);
let copied_size = io::copy(&mut data_reporter, &mut file)
.with_context(|| tmp.clone())
}
}
-pub struct ReadOriginator<'oo,'o,R:Read> {
+pub struct ReadOriginator<'o,R:Read> {
r: R,
total_len: usize,
- orig: &'oo mut &'o mut dyn Originator,
+ orig: &'o mut dyn Originator,
// state:
counter: usize,
last_report: usize,
}
-impl<'oo,'o,R:Read> ReadOriginator<'oo,'o,R> {
- pub fn new<'p,P>(orig: &'oo mut &'o mut dyn Originator, phase: P,
+impl<'oo,'o,R:Read> ReadOriginator<'o,R> {
+ pub fn new<'p,P>(mut orig: &'o mut dyn Originator, phase: P,
total_len: usize, r: R) -> Self
where P: Into<Count<'p>>
{
}
}
-impl<R:Read> Read for ReadOriginator<'_,'_,R> {
+impl<R:Read> Read for ReadOriginator<'_,R> {
#[throws(io::Error)]
fn read(&mut self, buf: &mut [u8]) -> usize {
let got = self.r.read(buf)?;