diff --git a/console_backend/src/bin/fileio.rs b/console_backend/src/bin/fileio.rs index e79d0fa7c..af1680145 100644 --- a/console_backend/src/bin/fileio.rs +++ b/console_backend/src/bin/fileio.rs @@ -75,19 +75,22 @@ fn main() -> Result<()> { let sender = MsgSender::new(writer); scope(|s| { s.spawn(|_| run(rdr)); - let mut fileio = Fileio::new(link, sender); - let file = fs::File::open(source)?; - let size = file.metadata()?.len() as usize; - let mut bytes_written = 0; - print!("\rWriting 0.0%..."); - fileio.overwrite_with_progress(dest, file, |n| { - bytes_written += n; - let progress = (bytes_written as f64) / (size as f64) * 100.0; - print!("\rWriting {:.2}%...", progress); - })?; - println!("\nFile written successfully ({} bytes).", bytes_written); + let res = (|| { + let mut fileio = Fileio::new(link, sender); + let file = fs::File::open(source)?; + let size = file.metadata()?.len() as usize; + let mut bytes_written = 0; + print!("\rWriting 0.0%..."); + fileio.overwrite_with_progress(dest, file, |n| { + bytes_written += n; + let progress = (bytes_written as f64) / (size as f64) * 100.0; + print!("\rWriting {:.2}%...", progress); + })?; + println!("\nFile written successfully ({} bytes).", bytes_written); + Ok(()) + })(); done_tx.send(true).unwrap(); - Result::Ok(()) + res }) .unwrap() } @@ -100,14 +103,16 @@ fn main() -> Result<()> { let sender = MsgSender::new(writer); scope(|s| { s.spawn(|_| run(rdr)); - let mut fileio = Fileio::new(link, sender); - let dest: Box = match dest { - Some(path) => Box::new(fs::File::create(path)?), - None => Box::new(io::stdout()), - }; - fileio.read(source, dest)?; + let res = (|| { + let mut fileio = Fileio::new(link, sender); + let dest: Box = match dest { + Some(path) => Box::new(fs::File::create(path)?), + None => Box::new(io::stdout()), + }; + fileio.read(source, dest) + })(); done_tx.send(true).unwrap(); - Result::Ok(()) + res }) .unwrap() } @@ -116,11 +121,14 @@ fn main() -> Result<()> { let sender = MsgSender::new(writer); scope(|s| { s.spawn(|_| run(rdr)); - let mut fileio = Fileio::new(link, sender); - let files = fileio.readdir(path)?; - eprintln!("{:#?}", files); + let res = (|| { + let mut fileio = Fileio::new(link, sender); + let files = fileio.readdir(path)?; + files.iter().for_each(|f| println!("{}", f)); + Ok(()) + })(); done_tx.send(true).unwrap(); - Result::Ok(()) + res }) .unwrap() } @@ -129,11 +137,14 @@ fn main() -> Result<()> { let sender = MsgSender::new(writer); scope(|s| { s.spawn(|_| run(rdr)); - let fileio = Fileio::new(link, sender); - fileio.remove(path)?; - eprintln!("File deleted."); + let res = (|| { + let fileio = Fileio::new(link, sender); + fileio.remove(path)?; + eprintln!("File deleted."); + Ok(()) + })(); done_tx.send(true).unwrap(); - Result::Ok(()) + res }) .unwrap() } diff --git a/console_backend/src/fileio.rs b/console_backend/src/fileio.rs index e7542e91c..375a77b8f 100644 --- a/console_backend/src/fileio.rs +++ b/console_backend/src/fileio.rs @@ -259,7 +259,7 @@ impl Fileio { }, recv(channel::tick(READDIR_TIMEOUT)) -> _ => { self.link.unregister(key); - bail!("MsgFileioReadDirReq timed out"); + bail!("MsgFileioReadDirReq timed out. Is the device configured to emit MSG_FILEIO_READ_DIR_RESP (170) messages?"); } } } diff --git a/console_backend/src/log_panel.rs b/console_backend/src/log_panel.rs index 7ed3f8763..52ed511b5 100644 --- a/console_backend/src/log_panel.rs +++ b/console_backend/src/log_panel.rs @@ -173,6 +173,7 @@ fn write_packet(packet: ConsoleLogPacket, f: &mut File) { timestamp = packet.timestamp, level = packet.level, msg = packet.msg, + spaces = spaces, ); }