Struct virtual_fs::special_file::DeviceFile
source · pub struct DeviceFile { /* private fields */ }
Expand description
A “special” file is a file that is locked to one file descriptor (i.e. stdout => 0, stdin => 1), etc.
Implementations§
Trait Implementations§
source§impl AsyncRead for DeviceFile
impl AsyncRead for DeviceFile
source§impl AsyncSeek for DeviceFile
impl AsyncSeek for DeviceFile
source§impl AsyncWrite for DeviceFile
impl AsyncWrite for DeviceFile
source§fn poll_write(
self: Pin<&mut Self>,
_cx: &mut Context<'_>,
buf: &[u8]
) -> Poll<Result<usize>>
fn poll_write( self: Pin<&mut Self>, _cx: &mut Context<'_>, buf: &[u8] ) -> Poll<Result<usize>>
Attempt to write bytes from
buf
into the object. Read moresource§fn poll_flush(self: Pin<&mut Self>, _cx: &mut Context<'_>) -> Poll<Result<()>>
fn poll_flush(self: Pin<&mut Self>, _cx: &mut Context<'_>) -> Poll<Result<()>>
Attempts to flush the object, ensuring that any buffered data reach
their destination. Read more
source§fn poll_shutdown(
self: Pin<&mut Self>,
_cx: &mut Context<'_>
) -> Poll<Result<()>>
fn poll_shutdown( self: Pin<&mut Self>, _cx: &mut Context<'_> ) -> Poll<Result<()>>
Initiates or attempts to shut down this writer, returning success when
the I/O connection has completely shut down. Read more
source§fn poll_write_vectored(
self: Pin<&mut Self>,
_cx: &mut Context<'_>,
bufs: &[IoSlice<'_>]
) -> Poll<Result<usize>>
fn poll_write_vectored( self: Pin<&mut Self>, _cx: &mut Context<'_>, bufs: &[IoSlice<'_>] ) -> Poll<Result<usize>>
Like
poll_write
, except that it writes from a slice of buffers. Read moresource§fn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
Determines if this writer has an efficient
poll_write_vectored
implementation. Read moresource§impl Debug for DeviceFile
impl Debug for DeviceFile
source§impl VirtualFile for DeviceFile
impl VirtualFile for DeviceFile
source§fn last_accessed(&self) -> u64
fn last_accessed(&self) -> u64
the last time the file was accessed in nanoseconds as a UNIX timestamp
source§fn last_modified(&self) -> u64
fn last_modified(&self) -> u64
the last time the file was modified in nanoseconds as a UNIX timestamp
source§fn created_time(&self) -> u64
fn created_time(&self) -> u64
the time at which the file was created in nanoseconds as a UNIX timestamp
source§fn set_len(&mut self, _new_size: u64) -> Result<()>
fn set_len(&mut self, _new_size: u64) -> Result<()>
Change the size of the file, if the
new_size
is greater than the current size
the extra bytes will be allocated and zeroedsource§fn get_special_fd(&self) -> Option<u32>
fn get_special_fd(&self) -> Option<u32>
Used for “special” files such as
stdin
, stdout
and stderr
.
Always returns the same file descriptor (0, 1 or 2). Returns None
on normal filessource§fn poll_read_ready(
self: Pin<&mut Self>,
_cx: &mut Context<'_>
) -> Poll<Result<usize>>
fn poll_read_ready( self: Pin<&mut Self>, _cx: &mut Context<'_> ) -> Poll<Result<usize>>
Polls the file for when there is data to be read
Auto Trait Implementations§
impl RefUnwindSafe for DeviceFile
impl Send for DeviceFile
impl Sync for DeviceFile
impl Unpin for DeviceFile
impl UnwindSafe for DeviceFile
Blanket Implementations§
source§impl<R> AsyncReadExt for Rwhere
R: AsyncRead + ?Sized,
impl<R> AsyncReadExt for Rwhere R: AsyncRead + ?Sized,
source§fn read<'a>(&'a mut self, buf: &'a mut [u8]) -> Read<'a, Self>where
Self: Unpin,
fn read<'a>(&'a mut self, buf: &'a mut [u8]) -> Read<'a, Self>where Self: Unpin,
Pulls some bytes from this source into the specified buffer,
returning how many bytes were read. Read more
source§fn read_buf<B, 'a>(&'a mut self, buf: &'a mut B) -> ReadBuf<'a, Self, B>where
Self: Sized + Unpin,
B: BufMut,
fn read_buf<B, 'a>(&'a mut self, buf: &'a mut B) -> ReadBuf<'a, Self, B>where Self: Sized + Unpin, B: BufMut,
Pulls some bytes from this source into the specified buffer,
advancing the buffer’s internal cursor. Read more
source§fn read_exact<'a>(&'a mut self, buf: &'a mut [u8]) -> ReadExact<'a, Self>where
Self: Unpin,
fn read_exact<'a>(&'a mut self, buf: &'a mut [u8]) -> ReadExact<'a, Self>where Self: Unpin,
Reads the exact number of bytes required to fill
buf
. Read moresource§fn read_u8<'a>(&'a mut self) -> ReadU8<&'a mut Self>where
Self: Unpin,
fn read_u8<'a>(&'a mut self) -> ReadU8<&'a mut Self>where Self: Unpin,
Reads an unsigned 8 bit integer from the underlying reader. Read more
source§fn read_i8<'a>(&'a mut self) -> ReadI8<&'a mut Self>where
Self: Unpin,
fn read_i8<'a>(&'a mut self) -> ReadI8<&'a mut Self>where Self: Unpin,
Reads a signed 8 bit integer from the underlying reader. Read more
source§fn read_u16<'a>(&'a mut self) -> ReadU16<&'a mut Self>where
Self: Unpin,
fn read_u16<'a>(&'a mut self) -> ReadU16<&'a mut Self>where Self: Unpin,
Reads an unsigned 16-bit integer in big-endian order from the
underlying reader. Read more
source§fn read_i16<'a>(&'a mut self) -> ReadI16<&'a mut Self>where
Self: Unpin,
fn read_i16<'a>(&'a mut self) -> ReadI16<&'a mut Self>where Self: Unpin,
Reads a signed 16-bit integer in big-endian order from the
underlying reader. Read more
source§fn read_u32<'a>(&'a mut self) -> ReadU32<&'a mut Self>where
Self: Unpin,
fn read_u32<'a>(&'a mut self) -> ReadU32<&'a mut Self>where Self: Unpin,
Reads an unsigned 32-bit integer in big-endian order from the
underlying reader. Read more
source§fn read_i32<'a>(&'a mut self) -> ReadI32<&'a mut Self>where
Self: Unpin,
fn read_i32<'a>(&'a mut self) -> ReadI32<&'a mut Self>where Self: Unpin,
Reads a signed 32-bit integer in big-endian order from the
underlying reader. Read more
source§fn read_u64<'a>(&'a mut self) -> ReadU64<&'a mut Self>where
Self: Unpin,
fn read_u64<'a>(&'a mut self) -> ReadU64<&'a mut Self>where Self: Unpin,
Reads an unsigned 64-bit integer in big-endian order from the
underlying reader. Read more
source§fn read_i64<'a>(&'a mut self) -> ReadI64<&'a mut Self>where
Self: Unpin,
fn read_i64<'a>(&'a mut self) -> ReadI64<&'a mut Self>where Self: Unpin,
Reads an signed 64-bit integer in big-endian order from the
underlying reader. Read more
source§fn read_u128<'a>(&'a mut self) -> ReadU128<&'a mut Self>where
Self: Unpin,
fn read_u128<'a>(&'a mut self) -> ReadU128<&'a mut Self>where Self: Unpin,
Reads an unsigned 128-bit integer in big-endian order from the
underlying reader. Read more
source§fn read_i128<'a>(&'a mut self) -> ReadI128<&'a mut Self>where
Self: Unpin,
fn read_i128<'a>(&'a mut self) -> ReadI128<&'a mut Self>where Self: Unpin,
Reads an signed 128-bit integer in big-endian order from the
underlying reader. Read more
source§fn read_f32<'a>(&'a mut self) -> ReadF32<&'a mut Self>where
Self: Unpin,
fn read_f32<'a>(&'a mut self) -> ReadF32<&'a mut Self>where Self: Unpin,
Reads an 32-bit floating point type in big-endian order from the
underlying reader. Read more
source§fn read_f64<'a>(&'a mut self) -> ReadF64<&'a mut Self>where
Self: Unpin,
fn read_f64<'a>(&'a mut self) -> ReadF64<&'a mut Self>where Self: Unpin,
Reads an 64-bit floating point type in big-endian order from the
underlying reader. Read more
source§fn read_u16_le<'a>(&'a mut self) -> ReadU16Le<&'a mut Self>where
Self: Unpin,
fn read_u16_le<'a>(&'a mut self) -> ReadU16Le<&'a mut Self>where Self: Unpin,
Reads an unsigned 16-bit integer in little-endian order from the
underlying reader. Read more
source§fn read_i16_le<'a>(&'a mut self) -> ReadI16Le<&'a mut Self>where
Self: Unpin,
fn read_i16_le<'a>(&'a mut self) -> ReadI16Le<&'a mut Self>where Self: Unpin,
Reads a signed 16-bit integer in little-endian order from the
underlying reader. Read more
source§fn read_u32_le<'a>(&'a mut self) -> ReadU32Le<&'a mut Self>where
Self: Unpin,
fn read_u32_le<'a>(&'a mut self) -> ReadU32Le<&'a mut Self>where Self: Unpin,
Reads an unsigned 32-bit integer in little-endian order from the
underlying reader. Read more
source§fn read_i32_le<'a>(&'a mut self) -> ReadI32Le<&'a mut Self>where
Self: Unpin,
fn read_i32_le<'a>(&'a mut self) -> ReadI32Le<&'a mut Self>where Self: Unpin,
Reads a signed 32-bit integer in little-endian order from the
underlying reader. Read more
source§fn read_u64_le<'a>(&'a mut self) -> ReadU64Le<&'a mut Self>where
Self: Unpin,
fn read_u64_le<'a>(&'a mut self) -> ReadU64Le<&'a mut Self>where Self: Unpin,
Reads an unsigned 64-bit integer in little-endian order from the
underlying reader. Read more
source§fn read_i64_le<'a>(&'a mut self) -> ReadI64Le<&'a mut Self>where
Self: Unpin,
fn read_i64_le<'a>(&'a mut self) -> ReadI64Le<&'a mut Self>where Self: Unpin,
Reads an signed 64-bit integer in little-endian order from the
underlying reader. Read more
source§fn read_u128_le<'a>(&'a mut self) -> ReadU128Le<&'a mut Self>where
Self: Unpin,
fn read_u128_le<'a>(&'a mut self) -> ReadU128Le<&'a mut Self>where Self: Unpin,
Reads an unsigned 128-bit integer in little-endian order from the
underlying reader. Read more
source§fn read_i128_le<'a>(&'a mut self) -> ReadI128Le<&'a mut Self>where
Self: Unpin,
fn read_i128_le<'a>(&'a mut self) -> ReadI128Le<&'a mut Self>where Self: Unpin,
Reads an signed 128-bit integer in little-endian order from the
underlying reader. Read more
source§fn read_f32_le<'a>(&'a mut self) -> ReadF32Le<&'a mut Self>where
Self: Unpin,
fn read_f32_le<'a>(&'a mut self) -> ReadF32Le<&'a mut Self>where Self: Unpin,
Reads an 32-bit floating point type in little-endian order from the
underlying reader. Read more
source§fn read_f64_le<'a>(&'a mut self) -> ReadF64Le<&'a mut Self>where
Self: Unpin,
fn read_f64_le<'a>(&'a mut self) -> ReadF64Le<&'a mut Self>where Self: Unpin,
Reads an 64-bit floating point type in little-endian order from the
underlying reader. Read more
source§fn read_to_end<'a>(
&'a mut self,
buf: &'a mut Vec<u8, Global>
) -> ReadToEnd<'a, Self>where
Self: Unpin,
fn read_to_end<'a>( &'a mut self, buf: &'a mut Vec<u8, Global> ) -> ReadToEnd<'a, Self>where Self: Unpin,
Reads all bytes until EOF in this source, placing them into
buf
. Read moresource§impl<S> AsyncSeekExt for Swhere
S: AsyncSeek + ?Sized,
impl<S> AsyncSeekExt for Swhere S: AsyncSeek + ?Sized,
source§fn seek(&mut self, pos: SeekFrom) -> Seek<'_, Self>where
Self: Unpin,
fn seek(&mut self, pos: SeekFrom) -> Seek<'_, Self>where Self: Unpin,
Creates a future which will seek an IO object, and then yield the
new position in the object and the object itself. Read more
source§fn rewind(&mut self) -> Seek<'_, Self>where
Self: Unpin,
fn rewind(&mut self) -> Seek<'_, Self>where Self: Unpin,
Creates a future which will rewind to the beginning of the stream. Read more
source§fn stream_position(&mut self) -> Seek<'_, Self>where
Self: Unpin,
fn stream_position(&mut self) -> Seek<'_, Self>where Self: Unpin,
Creates a future which will return the current seek position from the
start of the stream. Read more
source§impl<W> AsyncWriteExt for Wwhere
W: AsyncWrite + ?Sized,
impl<W> AsyncWriteExt for Wwhere W: AsyncWrite + ?Sized,
source§fn write<'a>(&'a mut self, src: &'a [u8]) -> Write<'a, Self>where
Self: Unpin,
fn write<'a>(&'a mut self, src: &'a [u8]) -> Write<'a, Self>where Self: Unpin,
Writes a buffer into this writer, returning how many bytes were
written. Read more
source§fn write_vectored<'a, 'b>(
&'a mut self,
bufs: &'a [IoSlice<'b>]
) -> WriteVectored<'a, 'b, Self>where
Self: Unpin,
fn write_vectored<'a, 'b>( &'a mut self, bufs: &'a [IoSlice<'b>] ) -> WriteVectored<'a, 'b, Self>where Self: Unpin,
source§fn write_buf<B, 'a>(&'a mut self, src: &'a mut B) -> WriteBuf<'a, Self, B>where
Self: Sized + Unpin,
B: Buf,
fn write_buf<B, 'a>(&'a mut self, src: &'a mut B) -> WriteBuf<'a, Self, B>where Self: Sized + Unpin, B: Buf,
Writes a buffer into this writer, advancing the buffer’s internal
cursor. Read more
source§fn write_all_buf<B, 'a>(
&'a mut self,
src: &'a mut B
) -> WriteAllBuf<'a, Self, B>where
Self: Sized + Unpin,
B: Buf,
fn write_all_buf<B, 'a>( &'a mut self, src: &'a mut B ) -> WriteAllBuf<'a, Self, B>where Self: Sized + Unpin, B: Buf,
Attempts to write an entire buffer into this writer. Read more
source§fn write_all<'a>(&'a mut self, src: &'a [u8]) -> WriteAll<'a, Self>where
Self: Unpin,
fn write_all<'a>(&'a mut self, src: &'a [u8]) -> WriteAll<'a, Self>where Self: Unpin,
Attempts to write an entire buffer into this writer. Read more
source§fn write_u8<'a>(&'a mut self, n: u8) -> WriteU8<&'a mut Self>where
Self: Unpin,
fn write_u8<'a>(&'a mut self, n: u8) -> WriteU8<&'a mut Self>where Self: Unpin,
Writes an unsigned 8-bit integer to the underlying writer. Read more
source§fn write_i8<'a>(&'a mut self, n: i8) -> WriteI8<&'a mut Self>where
Self: Unpin,
fn write_i8<'a>(&'a mut self, n: i8) -> WriteI8<&'a mut Self>where Self: Unpin,
Writes a signed 8-bit integer to the underlying writer. Read more
source§fn write_u16<'a>(&'a mut self, n: u16) -> WriteU16<&'a mut Self>where
Self: Unpin,
fn write_u16<'a>(&'a mut self, n: u16) -> WriteU16<&'a mut Self>where Self: Unpin,
Writes an unsigned 16-bit integer in big-endian order to the
underlying writer. Read more
source§fn write_i16<'a>(&'a mut self, n: i16) -> WriteI16<&'a mut Self>where
Self: Unpin,
fn write_i16<'a>(&'a mut self, n: i16) -> WriteI16<&'a mut Self>where Self: Unpin,
Writes a signed 16-bit integer in big-endian order to the
underlying writer. Read more
source§fn write_u32<'a>(&'a mut self, n: u32) -> WriteU32<&'a mut Self>where
Self: Unpin,
fn write_u32<'a>(&'a mut self, n: u32) -> WriteU32<&'a mut Self>where Self: Unpin,
Writes an unsigned 32-bit integer in big-endian order to the
underlying writer. Read more
source§fn write_i32<'a>(&'a mut self, n: i32) -> WriteI32<&'a mut Self>where
Self: Unpin,
fn write_i32<'a>(&'a mut self, n: i32) -> WriteI32<&'a mut Self>where Self: Unpin,
Writes a signed 32-bit integer in big-endian order to the
underlying writer. Read more
source§fn write_u64<'a>(&'a mut self, n: u64) -> WriteU64<&'a mut Self>where
Self: Unpin,
fn write_u64<'a>(&'a mut self, n: u64) -> WriteU64<&'a mut Self>where Self: Unpin,
Writes an unsigned 64-bit integer in big-endian order to the
underlying writer. Read more
source§fn write_i64<'a>(&'a mut self, n: i64) -> WriteI64<&'a mut Self>where
Self: Unpin,
fn write_i64<'a>(&'a mut self, n: i64) -> WriteI64<&'a mut Self>where Self: Unpin,
Writes an signed 64-bit integer in big-endian order to the
underlying writer. Read more
source§fn write_u128<'a>(&'a mut self, n: u128) -> WriteU128<&'a mut Self>where
Self: Unpin,
fn write_u128<'a>(&'a mut self, n: u128) -> WriteU128<&'a mut Self>where Self: Unpin,
Writes an unsigned 128-bit integer in big-endian order to the
underlying writer. Read more
source§fn write_i128<'a>(&'a mut self, n: i128) -> WriteI128<&'a mut Self>where
Self: Unpin,
fn write_i128<'a>(&'a mut self, n: i128) -> WriteI128<&'a mut Self>where Self: Unpin,
Writes an signed 128-bit integer in big-endian order to the
underlying writer. Read more
source§fn write_f32<'a>(&'a mut self, n: f32) -> WriteF32<&'a mut Self>where
Self: Unpin,
fn write_f32<'a>(&'a mut self, n: f32) -> WriteF32<&'a mut Self>where Self: Unpin,
Writes an 32-bit floating point type in big-endian order to the
underlying writer. Read more
source§fn write_f64<'a>(&'a mut self, n: f64) -> WriteF64<&'a mut Self>where
Self: Unpin,
fn write_f64<'a>(&'a mut self, n: f64) -> WriteF64<&'a mut Self>where Self: Unpin,
Writes an 64-bit floating point type in big-endian order to the
underlying writer. Read more
source§fn write_u16_le<'a>(&'a mut self, n: u16) -> WriteU16Le<&'a mut Self>where
Self: Unpin,
fn write_u16_le<'a>(&'a mut self, n: u16) -> WriteU16Le<&'a mut Self>where Self: Unpin,
Writes an unsigned 16-bit integer in little-endian order to the
underlying writer. Read more
source§fn write_i16_le<'a>(&'a mut self, n: i16) -> WriteI16Le<&'a mut Self>where
Self: Unpin,
fn write_i16_le<'a>(&'a mut self, n: i16) -> WriteI16Le<&'a mut Self>where Self: Unpin,
Writes a signed 16-bit integer in little-endian order to the
underlying writer. Read more
source§fn write_u32_le<'a>(&'a mut self, n: u32) -> WriteU32Le<&'a mut Self>where
Self: Unpin,
fn write_u32_le<'a>(&'a mut self, n: u32) -> WriteU32Le<&'a mut Self>where Self: Unpin,
Writes an unsigned 32-bit integer in little-endian order to the
underlying writer. Read more
source§fn write_i32_le<'a>(&'a mut self, n: i32) -> WriteI32Le<&'a mut Self>where
Self: Unpin,
fn write_i32_le<'a>(&'a mut self, n: i32) -> WriteI32Le<&'a mut Self>where Self: Unpin,
Writes a signed 32-bit integer in little-endian order to the
underlying writer. Read more
source§fn write_u64_le<'a>(&'a mut self, n: u64) -> WriteU64Le<&'a mut Self>where
Self: Unpin,
fn write_u64_le<'a>(&'a mut self, n: u64) -> WriteU64Le<&'a mut Self>where Self: Unpin,
Writes an unsigned 64-bit integer in little-endian order to the
underlying writer. Read more
source§fn write_i64_le<'a>(&'a mut self, n: i64) -> WriteI64Le<&'a mut Self>where
Self: Unpin,
fn write_i64_le<'a>(&'a mut self, n: i64) -> WriteI64Le<&'a mut Self>where Self: Unpin,
Writes an signed 64-bit integer in little-endian order to the
underlying writer. Read more
source§fn write_u128_le<'a>(&'a mut self, n: u128) -> WriteU128Le<&'a mut Self>where
Self: Unpin,
fn write_u128_le<'a>(&'a mut self, n: u128) -> WriteU128Le<&'a mut Self>where Self: Unpin,
Writes an unsigned 128-bit integer in little-endian order to the
underlying writer. Read more
source§fn write_i128_le<'a>(&'a mut self, n: i128) -> WriteI128Le<&'a mut Self>where
Self: Unpin,
fn write_i128_le<'a>(&'a mut self, n: i128) -> WriteI128Le<&'a mut Self>where Self: Unpin,
Writes an signed 128-bit integer in little-endian order to the
underlying writer. Read more
source§fn write_f32_le<'a>(&'a mut self, n: f32) -> WriteF32Le<&'a mut Self>where
Self: Unpin,
fn write_f32_le<'a>(&'a mut self, n: f32) -> WriteF32Le<&'a mut Self>where Self: Unpin,
Writes an 32-bit floating point type in little-endian order to the
underlying writer. Read more
source§fn write_f64_le<'a>(&'a mut self, n: f64) -> WriteF64Le<&'a mut Self>where
Self: Unpin,
fn write_f64_le<'a>(&'a mut self, n: f64) -> WriteF64Le<&'a mut Self>where Self: Unpin,
Writes an 64-bit floating point type in little-endian order to the
underlying writer. Read more