Trait io_lifetimes::AsFd

1.63.0 · source ·
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§

source

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§

source§

impl AsFd for File

source§

impl AsFd for Stderr

source§

impl AsFd for Stdin

source§

impl AsFd for Stdout

source§

impl AsFd for TcpListener

source§

impl AsFd for TcpStream

source§

impl AsFd for UdpSocket

source§

impl AsFd for PidFd

source§

impl AsFd for UnixDatagram

source§

impl AsFd for UnixListener

source§

impl AsFd for UnixStream

source§

impl AsFd for ChildStderr

source§

impl AsFd for ChildStdin

source§

impl AsFd for ChildStdout

source§

impl AsFd for BorrowedFd<'_>

source§

impl AsFd for OwnedFd

source§

impl<'a> AsFd for StderrLock<'a>

source§

impl<'a> AsFd for StdinLock<'a>

source§

impl<'a> AsFd for StdoutLock<'a>

source§

impl<T> AsFd for &Twhere T: AsFd,

source§

impl<T> AsFd for &mut Twhere T: AsFd,

1.64.0 · source§

impl<T> AsFd for Box<T, Global>where T: AsFd,

1.69.0 · source§

impl<T> AsFd for Rc<T, Global>where T: AsFd,

1.64.0 · source§

impl<T> AsFd for Arc<T, Global>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> {}

impl<'fd> AsFd for PollFd<'fd>

impl AsFd for Socket

impl AsFd for ChildStderr

impl AsFd for ChildStdin

impl AsFd for TcpListener

impl AsFd for Stderr

impl AsFd for ChildStdout

impl AsFd for Stdout

impl AsFd for TcpStream

impl AsFd for UnixStream

impl AsFd for Receiver

impl AsFd for File

impl AsFd for Sender

impl AsFd for Stdin

impl<T: AsRawFd> AsFd for AsyncFd<T>

impl AsFd for UdpSocket

impl AsFd for TcpSocket