Trait async_std::os::unix::io::FromRawFd

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

A trait to express the ability to construct an object from a raw file descriptor.

Required Methods§

source

unsafe fn from_raw_fd(fd: i32) -> Self

Constructs a new instance of Self from the given raw file descriptor.

This function is typically used to consume ownership of the specified file descriptor. When used in this way, the returned object will take responsibility for closing it when the object goes out of scope.

However, consuming ownership is not strictly required. Use a From<OwnedFd>::from implementation for an API which strictly consumes ownership.

Safety

The fd passed in must be an owned file descriptor; in particular, it must be open.

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: no other functions should call `from_raw_fd`, so there
// is only one owner for the file descriptor.
let f = unsafe { File::from_raw_fd(raw_fd) };

Object Safety§

This trait is not object safe.

Implementors§

1.48.0 · source§

impl FromRawFd for i32

source§

impl FromRawFd for Socket

source§

impl FromRawFd for async_std::fs::File

source§

impl FromRawFd for async_std::net::TcpListener

source§

impl FromRawFd for async_std::net::TcpStream

source§

impl FromRawFd for async_std::net::UdpSocket

1.2.0 · source§

impl FromRawFd for Stdio

source§

impl FromRawFd for async_std::os::unix::net::UnixDatagram

source§

impl FromRawFd for async_std::os::unix::net::UnixListener

source§

impl FromRawFd for async_std::os::unix::net::UnixStream

source§

impl FromRawFd for std::fs::File

source§

impl FromRawFd for std::net::tcp::TcpListener

source§

impl FromRawFd for std::net::tcp::TcpStream

source§

impl FromRawFd for std::net::udp::UdpSocket

1.63.0 · source§

impl FromRawFd for OwnedFd

source§

impl FromRawFd for PidFd

1.10.0 · source§

impl FromRawFd for std::os::unix::net::datagram::UnixDatagram

1.10.0 · source§

impl FromRawFd for std::os::unix::net::listener::UnixListener

1.10.0 · source§

impl FromRawFd for std::os::unix::net::stream::UnixStream