pub trait FromRawFd {
// Required method
unsafe fn from_raw_fd(fd: RawFd) -> Self;
}
Expand description
一个表示从原始文件描述符构造对象的能力的 trait。
Required Methods§
sourceunsafe fn from_raw_fd(fd: RawFd) -> Self
unsafe fn from_raw_fd(fd: RawFd) -> Self
根据给定的原始文件描述符构造 Self
的新实例。
此函数通常用于消耗指定文件描述符的所有权。 以这种方式使用时,返回的 object 将负责在 object 离开角色域时关闭它。
但是,并不严格要求使用所有权。
对严格消耗所有权的 API 使用 From<OwnedFd>::from
实现。
Safety
传入的 fd
必须是有效且打开的文件描述符。
Example
use std::fs::File;
#[cfg(any(unix, target_os = "wasi"))]
use std::os::fd::{FromRawFd, IntoRawFd, RawFd};
let f = File::open("foo.txt")?;
let raw_fd: RawFd = f.into_raw_fd();
// SAFETY: 没有其他函数可以调用 `from_raw_fd`,因此文件描述符只有一个所有者。
let f = unsafe { File::from_raw_fd(raw_fd) };
RunImplementors§
impl FromRawFd for File
impl FromRawFd for TcpListener
impl FromRawFd for TcpStream
impl FromRawFd for UdpSocket
impl FromRawFd for Stdio
Available on Unix only.
impl FromRawFd for PidFd
Available on Linux only.
impl FromRawFd for UnixDatagram
Available on Unix only.
impl FromRawFd for UnixListener
Available on Unix only.
impl FromRawFd for UnixStream
Available on Unix only.