Trait otter_nodejs_tests::AsRawFd
1.0.0 · source · [−]Expand description
A trait to extract the raw file descriptor from an underlying object.
This is only available on unix and WASI platforms and must be imported in
order to call the method. Windows platforms have a corresponding
AsRawHandle
and AsRawSocket
set of traits.
Required Methods
Extracts the raw file descriptor.
This function is typically used to borrow an owned file descriptor. When used in this way, this method does not pass ownership of the raw file descriptor to the caller, and the file descriptor is only guaranteed to be valid while the original object has not yet been destroyed.
However, borrowing is not strictly required. See [AsFd::as_fd
]
for an API which strictly borrows a file descriptor.
Example
use std::fs::File;
#[cfg(unix)]
use std::os::unix::io::{AsRawFd, RawFd};
#[cfg(target_os = "wasi")]
use std::os::wasi::io::{AsRawFd, RawFd};
let mut f = File::open("foo.txt")?;
// Note that `raw_fd` is only valid as long as `f` exists.
#[cfg(any(unix, target_os = "wasi"))]
let raw_fd: RawFd = f.as_raw_fd();
Implementors
impl AsRawFd for i32
impl AsRawFd for TcpBuilder
impl AsRawFd for UdpBuilder
impl AsRawFd for std::net::tcp::TcpListener
impl AsRawFd for std::net::tcp::TcpStream
impl AsRawFd for std::net::udp::UdpSocket
impl AsRawFd for PidFd
impl AsRawFd for ChildStderr
impl AsRawFd for ChildStdin
impl AsRawFd for ChildStdout
impl AsRawFd for mio::net::tcp::TcpListener
impl AsRawFd for mio::net::tcp::TcpStream
impl AsRawFd for mio::net::udp::UdpSocket
impl AsRawFd for mio::poll::Poll
impl AsRawFd for Socket
impl AsRawFd for Dir
impl AsRawFd for OwningIter
The file descriptor continues to be owned by the OwningIter
,
so callers must not keep a RawFd
after the OwningIter
is dropped.