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§
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
impl AsFd for Stderr
impl AsFd for Stdin
impl AsFd for Stdout
impl AsFd for TcpListener
impl AsFd for TcpStream
impl AsFd for UdpSocket
impl AsFd for PidFd
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 AsFd for BorrowedFd<'_>
impl AsFd for OwnedFd
impl<'a> AsFd for StderrLock<'a>
impl<'a> AsFd for StdinLock<'a>
impl<'a> AsFd for StdoutLock<'a>
impl<T> AsFd for &Twhere T: AsFd,
impl<T> AsFd for &mut Twhere T: AsFd,
impl<T> AsFd for Box<T, Global>where T: AsFd,
impl<T> AsFd for Rc<T>where T: AsFd,
impl<T> AsFd for Arc<T>where T: AsFd,
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> {}