use std::{ io::{Read, Write}, thread, time::Duration, }; use mockpipe::MockPipe; fn main() { let (mut pipe1, mut pipe2) = MockPipe::pair(1024); let write_data = b"hello"; let writer = thread::spawn(move || { pipe1.write_all(write_data).unwrap(); }); let reader = thread::spawn(move || { thread::sleep(Duration::from_millis(100)); let mut read_data = [0u8; 5]; pipe2.read_exact(&mut read_data).unwrap(); assert_eq!(&read_data, write_data); }); writer.join().unwrap(); reader.join().unwrap(); }