1 use test_programs::wasi::cli::{stdin, stdout}; 2 use test_programs::wasi::io::streams::StreamError; 3 main()4fn main() { 5 println!("before splice"); 6 let stdout = stdout::get_stdout(); 7 let stdin = stdin::get_stdin(); 8 9 let mut spliced = 0; 10 loop { 11 match stdout.blocking_splice(&stdin, 4096) { 12 Ok(n) => spliced += n as usize, 13 Err(StreamError::Closed) => break, 14 Err(StreamError::LastOperationFailed(f)) => { 15 panic!("stream failure: {}", f.to_debug_string()) 16 } 17 } 18 } 19 let _ = stdin; 20 stdout.blocking_flush().unwrap(); 21 let _ = stdout; 22 23 println!("\ncompleted splicing {spliced} bytes"); 24 } 25