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 mio::net::tcp::listener::TcpListener
impl AsFd for mio::net::tcp::stream::TcpStream
impl AsFd for mio::net::udp::UdpSocket
impl AsFd for mio::net::uds::datagram::UnixDatagram
impl AsFd for mio::net::uds::listener::UnixListener
impl AsFd for mio::net::uds::stream::UnixStream
impl AsFd for mio::sys::unix::pipe::Receiver
impl AsFd for mio::sys::unix::pipe::Sender
impl AsFd for PtyMaster
impl AsFd for SignalFd
impl AsFd for Socket
impl AsFd for rustmax::std::fs::File
impl AsFd for rustmax::std::io::Stderr
impl AsFd for rustmax::std::io::Stdin
impl AsFd for rustmax::std::io::Stdout
impl AsFd for rustmax::std::net::TcpListener
impl AsFd for rustmax::std::net::TcpStream
impl AsFd for rustmax::std::net::UdpSocket
impl AsFd for BorrowedFd<'_>
impl AsFd for OwnedFd
impl AsFd for PidFd
impl AsFd for rustmax::std::os::unix::net::UnixDatagram
impl AsFd for rustmax::std::os::unix::net::UnixListener
impl AsFd for rustmax::std::os::unix::net::UnixStream
impl AsFd for PipeReader
impl AsFd for PipeWriter
impl AsFd for rustmax::std::process::ChildStderr
impl AsFd for rustmax::std::process::ChildStdin
impl AsFd for rustmax::std::process::ChildStdout
impl AsFd for rustmax::tokio::fs::File
impl AsFd for rustmax::tokio::io::Stderr
impl AsFd for rustmax::tokio::io::Stdin
impl AsFd for rustmax::tokio::io::Stdout
impl AsFd for rustmax::tokio::net::TcpListener
impl AsFd for TcpSocket
impl AsFd for rustmax::tokio::net::TcpStream
impl AsFd for rustmax::tokio::net::UdpSocket
impl AsFd for rustmax::tokio::net::UnixDatagram
impl AsFd for rustmax::tokio::net::UnixListener
impl AsFd for UnixSocket
impl AsFd for rustmax::tokio::net::UnixStream
impl AsFd for rustmax::tokio::net::unix::pipe::Receiver
impl AsFd for rustmax::tokio::net::unix::pipe::Sender
impl AsFd for rustmax::tokio::process::ChildStderr
impl AsFd for rustmax::tokio::process::ChildStdin
impl AsFd for rustmax::tokio::process::ChildStdout
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<F> AsFd for NamedTempFile<F>where
F: AsFd,
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 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> {}