pub trait AsFd {
// Required method
fn as_fd(&self) -> BorrowedFd<'_>;
}Expand description
A trait to borrow the file descriptor from an underlying object.
This is only available on unix platforms and must be imported in order to
call the method. Windows platforms have a corresponding AsHandle and
AsSocket set of traits.
Required Methods§
1.63.0 · Sourcefn as_fd(&self) -> BorrowedFd<'_>
fn as_fd(&self) -> BorrowedFd<'_>
Borrows the file descriptor.
§Example
use std::fs::File;
let mut f = File::open("foo.txt")?;
let borrowed_fd: BorrowedFd<'_> = f.as_fd();Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementors§
impl AsFd for BorrowedFd<'_>
impl AsFd for std::process::ChildStderr
impl AsFd for compio::process::ChildStderr
impl AsFd for std::process::ChildStdin
impl AsFd for compio::process::ChildStdin
impl AsFd for std::process::ChildStdout
impl AsFd for compio::process::ChildStdout
impl AsFd for CurrentDir
impl AsFd for std::fs::Dir
impl AsFd for compio::fs::Dir
Available on Unix only.
impl AsFd for std::fs::File
Available on non-Trusty only.
impl AsFd for compio::fs::File
Available on Unix only.
impl AsFd for OwnedFd
impl AsFd for PidFd
impl AsFd for PipeReader
Available on non-Trusty only.
impl AsFd for PipeWriter
Available on non-Trusty only.
impl AsFd for Poller
impl AsFd for Receiver
impl AsFd for Receiver
Available on crate feature
os-ext only.impl AsFd for compio::fs::pipe::Receiver
Available on Unix only.
impl AsFd for Registry
Available on Unix and neither AIX nor Cygwin nor ESP-IDF nor Fuchsia nor GNU/Hurd nor Haiku nor Hermit nor Horizon nor NuttX nor Play Station Vita nor QNX SDP 7.x and non-
mio_unsupported_force_poll_poll only.impl AsFd for Sender
impl AsFd for Sender
Available on crate feature
os-ext only.impl AsFd for compio::fs::pipe::Sender
Available on Unix only.
impl AsFd for SignalFd
impl AsFd for Socket
impl AsFd for Stderr
impl AsFd for Stdin
impl AsFd for Stdout
impl AsFd for std::net::tcp::TcpListener
Available on non-Trusty only.
impl AsFd for TcpListener
impl AsFd for TcpListener
Available on Hermit or Unix or WASI only.
impl AsFd for compio::net::TcpListener
Available on Unix only.
impl AsFd for TcpSocket
Available on Unix, or WASI, or
docsrs only.impl AsFd for compio::net::TcpSocket
Available on Unix only.
impl AsFd for std::net::tcp::TcpStream
Available on non-Trusty only.
impl AsFd for TcpStream
impl AsFd for TcpStream
Available on Hermit or Unix or WASI only.
impl AsFd for compio::net::TcpStream
Available on Unix only.
impl AsFd for std::net::udp::UdpSocket
Available on non-Trusty only.
impl AsFd for UdpSocket
impl AsFd for UdpSocket
Available on Hermit or Unix or WASI only.
impl AsFd for compio::net::UdpSocket
Available on Unix only.
impl AsFd for std::os::unix::net::datagram::UnixDatagram
impl AsFd for UnixDatagram
impl AsFd for UnixDatagram
impl AsFd for std::os::unix::net::listener::UnixListener
impl AsFd for UnixListener
impl AsFd for UnixListener
impl AsFd for compio::net::UnixListener
Available on Unix only.
impl AsFd for UnixSocket
impl AsFd for compio::net::UnixSocket
Available on Unix only.
impl AsFd for std::os::unix::net::stream::UnixStream
impl AsFd for UnixStream
impl AsFd for UnixStream
impl AsFd for compio::net::UnixStream
Available on Unix only.
impl<'a> AsFd for StderrLock<'a>
impl<'a> AsFd for StdinLock<'a>
impl<'a> AsFd for StdoutLock<'a>
impl<'fd> AsFd for PollFd<'fd>
impl<T> AsFd for &T
impl<T> AsFd for &mut T
impl<T> AsFd for Arc<T>
This impl allows implementing traits that require AsFd on Arc.
use std::net::UdpSocket;
use std::sync::Arc;
trait MyTrait: AsFd {}
impl MyTrait for Arc<UdpSocket> {}
impl MyTrait for Box<UdpSocket> {}impl<T> AsFd for Async<T>where
T: AsFd,
Available on Unix only.