Skip to main content

FileDesc

Struct FileDesc 

Source
pub struct FileDesc(OwnedFd);
🔬This is a nightly-only experimental API. (fd)

Tuple Fields§

§0: OwnedFd
🔬This is a nightly-only experimental API. (fd)

Implementations§

Source§

impl FileDesc

Source

pub fn try_clone(&self) -> Result<Self>

🔬This is a nightly-only experimental API. (fd)
Source

pub fn read(&self, buf: &mut [u8]) -> Result<usize>

🔬This is a nightly-only experimental API. (fd)
Source

pub fn read_vectored(&self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize>

🔬This is a nightly-only experimental API. (fd)
Available on neither ESP-IDF nor Horizon nor Play Station Vita nor NuttX.
Source

pub fn is_read_vectored(&self) -> bool

🔬This is a nightly-only experimental API. (fd)
Source

pub fn read_to_end(&self, buf: &mut Vec<u8>) -> Result<usize>

🔬This is a nightly-only experimental API. (fd)
Source

pub fn read_at(&self, buf: &mut [u8], offset: u64) -> Result<usize>

🔬This is a nightly-only experimental API. (fd)
Source

pub fn read_buf(&self, cursor: BorrowedCursor<'_>) -> Result<()>

🔬This is a nightly-only experimental API. (fd)
Source

pub fn read_buf_at(&self, cursor: BorrowedCursor<'_>, offset: u64) -> Result<()>

🔬This is a nightly-only experimental API. (fd)
Source

pub fn read_vectored_at( &self, bufs: &mut [IoSliceMut<'_>], offset: u64, ) -> Result<usize>

🔬This is a nightly-only experimental API. (fd)
Available on AIX or DragonFly BSD or Emscripten or FreeBSD or Fuchsia or GNU/Hurd or illumos or Linux or NetBSD or OpenBSD only.
Source

pub fn write(&self, buf: &[u8]) -> Result<usize>

🔬This is a nightly-only experimental API. (fd)
Source

pub fn write_vectored(&self, bufs: &[IoSlice<'_>]) -> Result<usize>

🔬This is a nightly-only experimental API. (fd)
Available on neither ESP-IDF nor Horizon nor Play Station Vita nor NuttX.
Source

pub fn is_write_vectored(&self) -> bool

🔬This is a nightly-only experimental API. (fd)
Source

pub fn write_at(&self, buf: &[u8], offset: u64) -> Result<usize>

🔬This is a nightly-only experimental API. (fd)
Source

pub fn write_vectored_at( &self, bufs: &[IoSlice<'_>], offset: u64, ) -> Result<usize>

🔬This is a nightly-only experimental API. (fd)
Available on AIX or DragonFly BSD or Emscripten or FreeBSD or Fuchsia or GNU/Hurd or illumos or Linux or NetBSD or OpenBSD only.
Source

pub fn set_cloexec(&self) -> Result<()>

🔬This is a nightly-only experimental API. (fd)
Available on Newlib and neither ESP-IDF nor Horizon nor Play Station Vita, or Solaris, or illumos, or Emscripten, or Fuchsia, or L4Re, or Linux, or Cygwin, or Haiku, or Redox OS, or VxWorks, or QNX Neutrino, or WASI only.
Source

pub fn set_nonblocking(&self, nonblocking: bool) -> Result<()>

🔬This is a nightly-only experimental API. (fd)
Available on Linux only.
Source

pub fn duplicate(&self) -> Result<FileDesc>

🔬This is a nightly-only experimental API. (fd)

Trait Implementations§

Source§

impl AsFd for FileDesc

Source§

fn as_fd(&self) -> BorrowedFd<'_>

Available on Unix or Hermit or Trusty or WASI or Motor OS only.
Borrows the file descriptor. Read more
Source§

impl AsInner<FileDesc> for ChildStderr

Source§

impl AsInner<FileDesc> for ChildStdin

Source§

impl AsInner<FileDesc> for ChildStdout

Source§

impl AsInner<FileDesc> for File

Source§

impl AsInner<FileDesc> for PidFd

Available on Linux only.
Source§

impl AsInner<FileDesc> for Socket

Source§

impl AsInner<OwnedFd> for FileDesc

Source§

impl AsInnerMut<FileDesc> for File

Source§

fn as_inner_mut(&mut self) -> &mut FileDesc

Source§

impl AsRawFd for FileDesc

Source§

fn as_raw_fd(&self) -> RawFd

Available on Unix or Hermit or Trusty or WASI or Motor OS only.
Extracts the raw file descriptor. Read more
Source§

impl Debug for FileDesc

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<FileDesc> for Stdio

Source§

fn from(fd: FileDesc) -> Stdio

Converts to this type from the input type.
Source§

impl FromInner<FileDesc> for ChildStderr

Source§

impl FromInner<FileDesc> for ChildStdin

Source§

impl FromInner<FileDesc> for ChildStdout

Source§

impl FromInner<FileDesc> for File

Source§

fn from_inner(file_desc: FileDesc) -> Self

Source§

impl FromInner<FileDesc> for PidFd

Available on Linux only.
Source§

fn from_inner(inner: FileDesc) -> Self

Source§

impl FromInner<FileDesc> for PipeReader

Source§

fn from_inner(inner: FileDesc) -> Self

Source§

impl FromInner<FileDesc> for PipeWriter

Source§

fn from_inner(inner: FileDesc) -> Self

Source§

impl FromInner<FileDesc> for Socket

Source§

fn from_inner(file_desc: FileDesc) -> Self

Source§

impl FromInner<OwnedFd> for FileDesc

Source§

fn from_inner(owned_fd: OwnedFd) -> Self

Source§

impl FromRawFd for FileDesc

Source§

unsafe fn from_raw_fd(raw_fd: RawFd) -> Self

Available on Unix or Hermit or Trusty or WASI or Motor OS only.
Constructs a new instance of Self from the given raw file descriptor. Read more
Source§

impl IntoInner<FileDesc> for ChildStderr

Source§

impl IntoInner<FileDesc> for ChildStdin

Source§

impl IntoInner<FileDesc> for ChildStdout

Source§

impl IntoInner<FileDesc> for File

Source§

impl IntoInner<FileDesc> for PidFd

Available on Linux only.
Source§

impl IntoInner<FileDesc> for PipeReader

Source§

impl IntoInner<FileDesc> for PipeWriter

Source§

impl IntoInner<FileDesc> for Socket

Source§

impl IntoInner<OwnedFd> for FileDesc

Source§

impl IntoRawFd for FileDesc

Source§

fn into_raw_fd(self) -> RawFd

Available on Unix or Hermit or Trusty or WASI or Motor OS only.
Consumes this object, returning the raw underlying file descriptor. Read more
Source§

impl<'a> Read for &'a FileDesc

Source§

fn read(&mut self, buf: &mut [u8]) -> Result<usize>

Pull some bytes from this source into the specified buffer, returning how many bytes were read. Read more
Source§

fn read_buf(&mut self, cursor: BorrowedCursor<'_>) -> Result<()>

🔬This is a nightly-only experimental API. (read_buf #78485)
Pull some bytes from this source into the specified buffer. Read more
Source§

fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize>

Like read, except that it reads into a slice of buffers. Read more
Source§

fn is_read_vectored(&self) -> bool

🔬This is a nightly-only experimental API. (can_vector #69941)
Determines if this Reader has an efficient read_vectored implementation. Read more
1.0.0 · Source§

fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize>

Reads all bytes until EOF in this source, placing them into buf. Read more
1.0.0 · Source§

fn read_to_string(&mut self, buf: &mut String) -> Result<usize>

Reads all bytes until EOF in this source, appending them to buf. Read more
1.6.0 · Source§

fn read_exact(&mut self, buf: &mut [u8]) -> Result<()>

Reads the exact number of bytes required to fill buf. Read more
Source§

fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<()>

🔬This is a nightly-only experimental API. (read_buf #78485)
Reads the exact number of bytes required to fill cursor. Read more
1.0.0 · Source§

fn by_ref(&mut self) -> &mut Self
where Self: Sized,

Creates a “by reference” adapter for this instance of Read. Read more
1.0.0 · Source§

fn bytes(self) -> Bytes<Self>
where Self: Sized,

Transforms this Read instance to an Iterator over its bytes. Read more
1.0.0 · Source§

fn chain<R: Read>(self, next: R) -> Chain<Self, R>
where Self: Sized,

Creates an adapter which will chain this stream with another. Read more
1.0.0 · Source§

fn take(self, limit: u64) -> Take<Self>
where Self: Sized,

Creates an adapter which will read at most limit bytes from it. Read more
Source§

fn read_array<const N: usize>(&mut self) -> Result<[u8; N]>
where Self: Sized,

🔬This is a nightly-only experimental API. (read_array #148848)
Read and return a fixed array of bytes from this source. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> SizedTypeProperties for T

Source§

#[doc(hidden)]
const SIZE: usize = _

🔬This is a nightly-only experimental API. (sized_type_properties)
Source§

#[doc(hidden)]
const ALIGN: usize = _

🔬This is a nightly-only experimental API. (sized_type_properties)
Source§

#[doc(hidden)]
const ALIGNMENT: Alignment = _

🔬This is a nightly-only experimental API. (ptr_alignment_type #102070)
Source§

#[doc(hidden)]
const IS_ZST: bool = _

🔬This is a nightly-only experimental API. (sized_type_properties)
true if this type requires no storage. false if its size is greater than zero. Read more
Source§

#[doc(hidden)]
const LAYOUT: Layout = _

🔬This is a nightly-only experimental API. (sized_type_properties)
Source§

#[doc(hidden)]
const MAX_SLICE_LEN: usize = _

🔬This is a nightly-only experimental API. (sized_type_properties)
The largest safe length for a [Self]. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.