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();Implementors§
impl AsFd for compio::fs::pipe::Receiver
Available on Unix only.
impl AsFd for compio::fs::pipe::Sender
Available on Unix only.
impl AsFd for compio::fs::Dir
Available on Unix only.
impl AsFd for compio::fs::File
Available on Unix only.
impl AsFd for compio::net::TcpListener
Available on Unix only.
impl AsFd for compio::net::TcpSocket
Available on Unix only.
impl AsFd for compio::net::TcpStream
Available on Unix only.
impl AsFd for compio::net::UdpSocket
Available on Unix only.
impl AsFd for compio::net::UnixListener
Available on Unix only.
impl AsFd for compio::net::UnixSocket
Available on Unix only.
impl AsFd for compio::net::UnixStream
Available on Unix only.
impl AsFd for compio::process::ChildStderr
impl AsFd for compio::process::ChildStdin
impl AsFd for compio::process::ChildStdout
impl AsFd for std::fs::Dir
impl AsFd for std::fs::File
Available on non-Trusty only.
impl AsFd for PipeReader
Available on non-Trusty only.
impl AsFd for PipeWriter
Available on non-Trusty only.
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 std::net::tcp::TcpStream
Available on non-Trusty only.
impl AsFd for std::net::udp::UdpSocket
Available on non-Trusty only.
impl AsFd for PidFd
impl AsFd for std::os::unix::net::datagram::UnixDatagram
impl AsFd for std::os::unix::net::listener::UnixListener
impl AsFd for std::os::unix::net::stream::UnixStream
impl AsFd for std::process::ChildStderr
impl AsFd for std::process::ChildStdin
impl AsFd for std::process::ChildStdout
impl AsFd for CurrentDir
impl AsFd for BorrowedFd<'_>
impl AsFd for OwnedFd
impl AsFd for Poller
impl AsFd for Receiver
impl AsFd for Receiver
Available on crate feature
os-ext only.impl AsFd for Registry
Available on Unix and non-
mio_unsupported_force_poll_poll and neither AIX nor ESP-IDF nor Haiku nor Fuchsia nor Hermit nor GNU/Hurd nor QNX Neutrino nor Solaris nor Play Station Vita nor Cygwin only.impl AsFd for Sender
impl AsFd for Sender
Available on crate feature
os-ext only.impl AsFd for SignalFd
impl AsFd for Socket
impl AsFd for TcpListener
impl AsFd for TcpListener
Available on Unix or Hermit or WASI only.
impl AsFd for TcpSocket
Available on
docsrs, or Unix, or WASI only.impl AsFd for TcpStream
impl AsFd for TcpStream
Available on Unix or Hermit or WASI only.
impl AsFd for UdpSocket
impl AsFd for UdpSocket
Available on Unix or Hermit or WASI only.
impl AsFd for UnixDatagram
impl AsFd for UnixDatagram
impl AsFd for UnixListener
impl AsFd for UnixListener
impl AsFd for UnixSocket
impl AsFd for UnixStream
impl AsFd for UnixStream
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 Box<T>
impl<T> AsFd for Rc<T>
impl<T> AsFd for UniqueRc<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 compio::runtime::fd::AsyncFd<T>where
T: AsFd,
impl<T> AsFd for compio::runtime::fd::PollFd<T>where
T: AsFd,
impl<T> AsFd for Async<T>where
T: AsFd,
Available on Unix only.