4 stable releases
| 1.2.0 | May 22, 2024 |
|---|---|
| 1.1.0 | May 13, 2024 |
| 1.0.1 | Apr 8, 2024 |
#2255 in Asynchronous
69 downloads per month
Used in 12 crates
(3 directly)
13KB
194 lines
async-send-fd
A library for sending and receiving Unix file descriptors over async UnixStream connections.
Overview
The crate is a library for sending and receiving Unix file descriptors over Tokio or Smol UnixStream connections. You can send RawFd or UnixStream using provided interfaces.
See test_smol_stream.rs or test_tokio_stream.rs for code examples.
Creating tokio::net::UnixStream from RawFd
If you make a Tokio UnixStream from a raw file descriptor made by an OS call (e.g. UnixStream::pair), you must make it set_nonblocking(true), otherwise receivers scheduler will block writing into the socket ⚠️
Smol UnixStream does it automatically if created using UnixStream::from(Async::new(stream))
Transfering socket pair ownership
Note: the library closes Tokio stream if sent into another process.
Features
tokio- for Tokio supportsmol- for Smol support
Dependencies
~2–14MB
~152K SLoC