Trait std::os::fd::FromRawFd

1.1.0 · source ·
pub trait FromRawFd {
    // Required method
    unsafe fn from_raw_fd(fd: RawFd) -> Self;
}
Expand description

一个表示从原始文件描述符构造对象的能力的 trait。

Required Methods§

source

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) };
Run

Implementors§

source§

impl FromRawFd for File

source§

impl FromRawFd for TcpListener

source§

impl FromRawFd for TcpStream

source§

impl FromRawFd for UdpSocket

1.2.0 · source§

impl FromRawFd for Stdio

Available on Unix only.
source§

impl FromRawFd for PidFd

Available on Linux only.
1.10.0 · source§

impl FromRawFd for UnixDatagram

Available on Unix only.
1.10.0 · source§

impl FromRawFd for UnixListener

Available on Unix only.
1.10.0 · source§

impl FromRawFd for UnixStream

Available on Unix only.
1.63.0 · source§

impl FromRawFd for OwnedFd

1.48.0 · source§

impl FromRawFd for RawFd