Function opendal::io_util::observe_read
source · [−]pub fn observe_read<F: FnMut(ReadEvent)>(s: BytesReader, f: F) -> ReadObserver<F>
Expand description
Create an observer over BytesReader.
observe_read
will accept a FnMut(ReadEvent)
which handles
ReadEvent
triggered by ReadObserver
Example
use opendal::io_util::observe_read;
use opendal::io_util::ReadEvent;
let r = Box::new(io::Cursor::new(vec![0; 1024]));
let mut read_size = 0;
let mut s = observe_read(r, |e| match e {
ReadEvent::Read(n) => read_size += n,
_ => {}
});
io::copy(s, &mut io::sink()).await?;