Skip to main content

IntoRawFd

Trait IntoRawFd 

1.4.0 · Source
pub trait IntoRawFd {
    // Required method
    fn into_raw_fd(self) -> i32;
}
Expand description

A trait to express the ability to consume an object and acquire ownership of its raw file descriptor.

Required Methods§

1.4.0 · Source

fn into_raw_fd(self) -> i32

Consumes this object, returning the raw underlying file descriptor.

This function is typically used to transfer ownership of the underlying file descriptor to the caller. When used in this way, callers are then the unique owners of the file descriptor and must close it once it’s no longer needed.

However, transferring ownership is not strictly required. Use a Into<OwnedFd>::into implementation for an API which strictly transfers ownership.

§Example
use std::fs::File;
#[cfg(any(unix, target_os = "wasi"))]
use std::os::fd::{IntoRawFd, RawFd};

let f = File::open("foo.txt")?;
#[cfg(any(unix, target_os = "wasi"))]
let raw_fd: RawFd = f.into_raw_fd();

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

1.4.0 · Source§

impl IntoRawFd for ChildStderr

1.4.0 · Source§

impl IntoRawFd for ChildStdin

1.4.0 · Source§

impl IntoRawFd for ChildStdout

Source§

impl IntoRawFd for Dir

1.4.0 · Source§

impl IntoRawFd for File

Available on non-Trusty only.
1.63.0 · Source§

impl IntoRawFd for OwnedFd

Source§

impl IntoRawFd for PidFd

1.87.0 · Source§

impl IntoRawFd for PipeReader

Available on non-Trusty only.
1.87.0 · Source§

impl IntoRawFd for PipeWriter

Available on non-Trusty only.
Source§

impl IntoRawFd for Receiver

Available on crate feature os-ext only.
Source§

impl IntoRawFd for Sender

Available on crate feature os-ext only.
Source§

impl IntoRawFd for Socket

1.4.0 · Source§

impl IntoRawFd for std::net::tcp::TcpListener

Source§

impl IntoRawFd for mio::net::tcp::listener::TcpListener

Available on Hermit or Unix or WASI only.
1.4.0 · Source§

impl IntoRawFd for std::net::tcp::TcpStream

Source§

impl IntoRawFd for mio::net::tcp::stream::TcpStream

Available on Hermit or Unix or WASI only.
1.4.0 · Source§

impl IntoRawFd for std::net::udp::UdpSocket

Source§

impl IntoRawFd for mio::net::udp::UdpSocket

Available on Hermit or Unix or WASI only.
1.10.0 · Source§

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

Source§

impl IntoRawFd for mio::net::uds::datagram::UnixDatagram

1.10.0 · Source§

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

Source§

impl IntoRawFd for mio::net::uds::listener::UnixListener

1.10.0 · Source§

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

Source§

impl IntoRawFd for sozu_lib::testing::UnixStream

1.48.0 · Source§

impl IntoRawFd for i32