pub fn observe_write<F: FnMut(WriteEvent)>(
    s: BytesWriter,
    f: F
) -> WriteObserver<F>
Expand description

Create an observer over crate::BytesWrite.

observe_write will accept a FnMut(WriteEvent) which handles WriteEvent triggered by WriteObserver.

Example

use opendal::io_util::observe_write;
use opendal::io_util::WriteEvent;

let mut written_size = 0;
let mut s = observe_write(w, |e| match e {
    WriteEvent::Written(n) => written_size += n,
    _ => {}
});
s.write_all(&vec![0; 1024]).await?;
s.close().await?;