33 releases (19 breaking)
0.19.5 | Mar 29, 2024 |
---|---|
0.19.4 | Dec 30, 2023 |
0.19.3 | Jun 28, 2023 |
0.19.1 | Mar 29, 2023 |
0.6.1 | Mar 4, 2021 |
#166 in Rust patterns
8,405 downloads per month
Used in 13 crates
(6 directly)
48KB
1K
SLoC
This crate wraps socketpair
with AF_UNIX
platforms, and emulates this
interface using CreateNamedPipe
on Windows.
It has a "stream" interface, which corresponds to SOCK_STREAM
and
PIPE_TYPE_BYTE
, and a "seqpacket" interface, which corresponds to
SOCK_SEQPACKET
and PIPE_TYPE_MESSAGE
.
Example
let (mut a, mut b) = socketpair_stream()?;
writeln!(a, "hello world")?;
let mut buf = [0_u8; 4096];
let n = b.read(&mut buf)?;
assert_eq!(str::from_utf8(&buf[..n]).unwrap(), "hello world\n");
Support for async-std and tokio is temporarily disabled until those crates contain the needed implementations of the I/O safety traits.
Dependencies
~2–14MB
~178K SLoC