1 use test_programs::wasi::cli::{stdin, stdout};
2 use test_programs::wasi::io::streams::StreamError;
3 
main()4 fn 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