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 NuttX nor Play Station Vita.
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<'_, u8>) -> Result<()>

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

pub fn read_buf_at( &self, cursor: BorrowedCursor<'_, u8>, 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, or AArch64 and macOS 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 NuttX nor Play Station Vita.
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, or AArch64 and macOS only.
Source

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

🔬This is a nightly-only experimental API. (fd)
Available on Cygwin, or Emscripten, or Fuchsia, or Haiku, or illumos, or L4Re, or Linux, or QNX SDP 7.x, or QNX SDP 8.0+, or Redox OS, or Solaris, or VxWorks, or WASI, or Newlib and neither ESP-IDF nor Horizon nor Play Station Vita 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 Hermit or Motor OS or Trusty or Unix or WASI only.
Borrows the file descriptor. Read more
Source§

impl AsInner<FileDesc> for ChildStdin

Source§

impl AsInner<FileDesc> for ChildStdout

Source§

impl AsInner<FileDesc> for ChildStderr

Source§

impl AsInner<FileDesc> for File

Source§

impl AsInner<FileDesc> for Socket

Source§

impl AsInner<FileDesc> for PidFd

Available on Linux only.
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 Hermit or Motor OS or Trusty or Unix or WASI 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 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 ChildStdin

Source§

impl FromInner<FileDesc> for ChildStdout

Source§

impl FromInner<FileDesc> for ChildStderr

Source§

impl FromInner<FileDesc> for File

Source§

fn from_inner(file_desc: FileDesc) -> Self

Source§

impl FromInner<FileDesc> for Socket

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<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 Hermit or Motor OS or Trusty or Unix or WASI only.
Constructs a new instance of Self from the given raw file descriptor. Read more
Source§

impl IntoInner<FileDesc> for PipeReader

Source§

impl IntoInner<FileDesc> for PipeWriter

Source§

impl IntoInner<FileDesc> for ChildStdin

Source§

impl IntoInner<FileDesc> for ChildStdout

Source§

impl IntoInner<FileDesc> for ChildStderr

Source§

impl IntoInner<FileDesc> for File

Source§

impl IntoInner<FileDesc> for Socket

Source§

impl IntoInner<FileDesc> for PidFd

Available on Linux only.
Source§

impl IntoInner<OwnedFd> for FileDesc

Source§

impl IntoRawFd for FileDesc

Source§

fn into_raw_fd(self) -> RawFd

Available on Hermit or Motor OS or Trusty or Unix or WASI 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<'_, u8>) -> 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<'_, u8>) -> 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
Source§

fn read_le<T: FromEndianBytes>(&mut self) -> Result<T>
where Self: Sized,

🔬This is a nightly-only experimental API. (read_le #156984)
Read and return a type (e.g. an integer) in little-endian order. Read more
Source§

fn read_be<T: FromEndianBytes>(&mut self) -> Result<T>
where Self: Sized,

🔬This is a nightly-only experimental API. (read_le #156984)
Read and return a type (e.g. an integer) in big-endian order. 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> SizeHint for T
where T: ?Sized,

Source§

default fn lower_bound(&self) -> usize

🔬This is a nightly-only experimental API. (core_io_internals)
Returns a lower bound on the number of elements this container-like item contains. For example, an array [u8; 12] could return any value between 0 and 12 inclusively as a correct implementation. Read more
Source§

default fn upper_bound(&self) -> Option<usize>

🔬This is a nightly-only experimental API. (core_io_internals)
Returns an upper bound on the number of elements this container-like item contains if it can be determined, otherwise None. Read more
Source§

final fn size_hint(&self) -> (usize, Option<usize>)

🔬This is a nightly-only experimental API. (core_io_internals)
Returns an estimate for the number of elements this container like type contains. Read more
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.