1use std::{
2 fs::File,
3 io::{self, Read},
4};
5
6use transfer_progress::SizedTransfer;
7
8const DATA_TO_TRANSFER: u64 = 1024 * 1024 * 1024;
10
11fn main() -> io::Result<()> {
12 let reader = File::open("/dev/urandom")?.take(DATA_TO_TRANSFER);
13 let writer = io::sink();
14
15 let transfer = SizedTransfer::new(reader, writer, DATA_TO_TRANSFER);
17
18 while !transfer.is_complete() {
19 std::thread::sleep(std::time::Duration::from_secs(1));
20 println!("{:#}", transfer);
22 }
23
24 let (_reader, _writer) = transfer.finish()?;
26 Ok(())
27}