test_unix_stream_pair.rs 559 B

123456789101112131415161718192021
  1. use std::io::{Error, Read, Write};
  2. use std::os::unix::net::UnixStream;
  3. use std::str;
  4. const MSG: &str = "Hello, unix stream socketpair!";
  5. pub fn test_unix_stream_pair() -> std::io::Result<()> {
  6. let (mut sock0, mut sock1) = UnixStream::pair()?;
  7. sock1.write_all(MSG.as_bytes())?;
  8. let mut buffer = [0; 1024];
  9. let nbytes = sock0.read(&mut buffer).expect("read error");
  10. let received_msg = str::from_utf8(&buffer[..nbytes]).unwrap();
  11. if received_msg == MSG {
  12. Ok(())
  13. } else {
  14. Err(Error::from_raw_os_error(-1))
  15. }
  16. }