pub trait AsOpenFile {
// 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 File
Available on non-
target_os=trusty only.impl AsFd for PipeReader
Available on non-
target_os=trusty only.impl AsFd for PipeWriter
Available on non-
target_os=trusty only.impl AsFd for Stderr
impl AsFd for Stdin
impl AsFd for Stdout
impl AsFd for TcpListener
Available on non-
target_os=trusty only.impl AsFd for TcpStream
Available on non-
target_os=trusty only.impl AsFd for UdpSocket
Available on non-
target_os=trusty only.impl AsFd for BorrowedFd<'_>
impl AsFd for OwnedFd
impl AsFd for UnixDatagram
impl AsFd for UnixListener
impl AsFd for UnixStream
impl AsFd for ChildStderr
impl AsFd for ChildStdin
impl AsFd for ChildStdout
impl<'a> AsFd for StderrLock<'a>
impl<'a> AsFd for StdinLock<'a>
impl<'a> AsFd for StdoutLock<'a>
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> {}