wasi_common::sync

Struct Dir

pub struct Dir { /* private fields */ }
Available on crate feature sync only.
Expand description

A reference to an open directory on a filesystem.

This does not directly correspond to anything in std, however its methods correspond to the functions in std::fs and the constructor methods for std::fs::File.

Unlike std::fs, this API’s canonicalize returns a relative path since absolute paths don’t interoperate well with the capability model.

Implementations§

§

impl Dir

pub fn from_std_file(std_file: File) -> Dir

Constructs a new instance of Self from the given std::fs::File.

To prevent race conditions on Windows, the file must be opened without FILE_SHARE_DELETE.

This grants access the resources the std::fs::File instance already has access to.

pub fn into_std_file(self) -> File

Consumes self and returns a std::fs::File.

pub fn open<P>(&self, path: P) -> Result<File, Error>
where P: AsRef<Path>,

Attempts to open a file in read-only mode.

This corresponds to std::fs::File::open, but only accesses paths relative to self.

pub fn open_with<P>( &self, path: P, options: &OpenOptions, ) -> Result<File, Error>
where P: AsRef<Path>,

Opens a file at path with the options specified by options.

This corresponds to std::fs::OpenOptions::open.

Instead of being a method on OpenOptions, this is a method on Dir, and it only accesses paths relative to self.

pub fn open_dir<P>(&self, path: P) -> Result<Dir, Error>
where P: AsRef<Path>,

Attempts to open a directory.

pub fn create_dir<P>(&self, path: P) -> Result<(), Error>
where P: AsRef<Path>,

Creates a new, empty directory at the provided path.

This corresponds to std::fs::create_dir, but only accesses paths relative to self.

pub fn create_dir_all<P>(&self, path: P) -> Result<(), Error>
where P: AsRef<Path>,

Recursively create a directory and all of its parent components if they are missing.

This corresponds to std::fs::create_dir_all, but only accesses paths relative to self.

pub fn create_dir_with<P>( &self, path: P, dir_builder: &DirBuilder, ) -> Result<(), Error>
where P: AsRef<Path>,

Creates the specified directory with the options configured in this builder.

This corresponds to std::fs::DirBuilder::create.

pub fn create<P>(&self, path: P) -> Result<File, Error>
where P: AsRef<Path>,

Opens a file in write-only mode.

This corresponds to std::fs::File::create, but only accesses paths relative to self.

pub fn canonicalize<P>(&self, path: P) -> Result<PathBuf, Error>
where P: AsRef<Path>,

Returns the canonical form of a path with all intermediate components normalized and symbolic links resolved.

This corresponds to std::fs::canonicalize, but instead of returning an absolute path, returns a path relative to the directory represented by self.

pub fn copy<P, Q>(&self, from: P, to_dir: &Dir, to: Q) -> Result<u64, Error>
where P: AsRef<Path>, Q: AsRef<Path>,

Copies the contents of one file to another. This function will also copy the permission bits of the original file to the destination file.

This corresponds to std::fs::copy, but only accesses paths relative to self.

Creates a new hard link on a filesystem.

This corresponds to std::fs::hard_link, but only accesses paths relative to self.

pub fn metadata<P>(&self, path: P) -> Result<Metadata, Error>
where P: AsRef<Path>,

Given a path, query the file system to get information about a file, directory, etc.

This corresponds to std::fs::metadata, but only accesses paths relative to self.

pub fn dir_metadata(&self) -> Result<Metadata, Error>

Queries metadata about the underlying directory.

This is similar to std::fs::File::metadata, but for Dir rather than for File.

pub fn entries(&self) -> Result<ReadDir, Error>

Returns an iterator over the entries within self.

pub fn read_dir<P>(&self, path: P) -> Result<ReadDir, Error>
where P: AsRef<Path>,

Returns an iterator over the entries within a directory.

This corresponds to std::fs::read_dir, but only accesses paths relative to self.

pub fn read<P>(&self, path: P) -> Result<Vec<u8>, Error>
where P: AsRef<Path>,

Read the entire contents of a file into a bytes vector.

This corresponds to std::fs::read, but only accesses paths relative to self.

Reads a symbolic link, returning the file that the link points to.

This corresponds to std::fs::read_link, but only accesses paths relative to self. Unlike [read_link_contents], this method considers it an error if the link’s target is an absolute path.

Reads a symbolic link, returning the file that the link points to.

This corresponds to std::fs::read_link. but only accesses paths relative to self.

pub fn read_to_string<P>(&self, path: P) -> Result<String, Error>
where P: AsRef<Path>,

Read the entire contents of a file into a string.

This corresponds to std::fs::read_to_string, but only accesses paths relative to self.

pub fn remove_dir<P>(&self, path: P) -> Result<(), Error>
where P: AsRef<Path>,

Removes an empty directory.

This corresponds to std::fs::remove_dir, but only accesses paths relative to self.

pub fn remove_dir_all<P>(&self, path: P) -> Result<(), Error>
where P: AsRef<Path>,

Removes a directory at this path, after removing all its contents. Use carefully!

This corresponds to std::fs::remove_dir_all, but only accesses paths relative to self.

pub fn remove_open_dir(self) -> Result<(), Error>

Remove the directory referenced by self and consume self.

Even though this implementation works in terms of handles as much as possible, removal is not guaranteed to be atomic with respect to a concurrent rename of the directory.

pub fn remove_open_dir_all(self) -> Result<(), Error>

Removes the directory referenced by self, after removing all its contents, and consume self. Use carefully!

Even though this implementation works in terms of handles as much as possible, removal is not guaranteed to be atomic with respect to a concurrent rename of the directory.

pub fn remove_file<P>(&self, path: P) -> Result<(), Error>
where P: AsRef<Path>,

Removes a file from a filesystem.

This corresponds to std::fs::remove_file, but only accesses paths relative to self.

pub fn rename<P, Q>(&self, from: P, to_dir: &Dir, to: Q) -> Result<(), Error>
where P: AsRef<Path>, Q: AsRef<Path>,

Rename a file or directory to a new name, replacing the original file if to already exists.

This corresponds to std::fs::rename, but only accesses paths relative to self.

pub fn set_permissions<P>( &self, path: P, perm: Permissions, ) -> Result<(), Error>
where P: AsRef<Path>,

Changes the permissions found on a file or a directory.

This corresponds to std::fs::set_permissions, but only accesses paths relative to self. Also, on some platforms, this function may fail if the file or directory cannot be opened for reading or writing first.

Query the metadata about a file without following symlinks.

This corresponds to std::fs::symlink_metadata, but only accesses paths relative to self.

pub fn write<P, C>(&self, path: P, contents: C) -> Result<(), Error>
where P: AsRef<Path>, C: AsRef<[u8]>,

Write a slice as the entire contents of a file.

This corresponds to std::fs::write, but only accesses paths relative to self.

Creates a new symbolic link on a filesystem.

The original argument provides the target of the symlink. The link argument provides the name of the created symlink.

Despite the argument ordering, original is not resolved relative to self here. link is resolved relative to self, and original is not resolved within this function.

The link path is resolved when the symlink is dereferenced, relative to the directory that contains it.

This corresponds to std::os::unix::fs::symlink, but only accesses paths relative to self.

Unlike [symlink_contents] this method will return an error if original is an absolute path.

Creates a new symbolic link on a filesystem.

The original argument provides the target of the symlink. The link argument provides the name of the created symlink.

Despite the argument ordering, original is not resolved relative to self here. link is resolved relative to self, and original is not resolved within this function.

The link path is resolved when the symlink is dereferenced, relative to the directory that contains it.

This corresponds to std::os::unix::fs::symlink, but only accesses paths relative to self.

pub fn bind_unix_listener<P>(&self, path: P) -> Result<UnixListener, Error>
where P: AsRef<Path>,

Creates a new UnixListener bound to the specified socket.

This corresponds to std::os::unix::net::UnixListener::bind, but only accesses paths relative to self.

XXX: This function is not yet implemented.

pub fn connect_unix_stream<P>(&self, path: P) -> Result<UnixStream, Error>
where P: AsRef<Path>,

Connects to the socket named by path.

This corresponds to std::os::unix::net::UnixStream::connect, but only accesses paths relative to self.

XXX: This function is not yet implemented.

pub fn bind_unix_datagram<P>(&self, path: P) -> Result<UnixDatagram, Error>
where P: AsRef<Path>,

Creates a Unix datagram socket bound to the given path.

This corresponds to std::os::unix::net::UnixDatagram::bind, but only accesses paths relative to self.

XXX: This function is not yet implemented.

pub fn connect_unix_datagram<P>( &self, _unix_datagram: &UnixDatagram, path: P, ) -> Result<(), Error>
where P: AsRef<Path>,

Connects the socket to the specified address.

This corresponds to std::os::unix::net::UnixDatagram::connect, but only accesses paths relative to self.

XXX: This function is not yet implemented.

pub fn send_to_unix_datagram_addr<P>( &self, _unix_datagram: &UnixDatagram, buf: &[u8], path: P, ) -> Result<usize, Error>
where P: AsRef<Path>,

Sends data on the socket to the specified address.

This corresponds to std::os::unix::net::UnixDatagram::send_to, but only accesses paths relative to self.

XXX: This function is not yet implemented.

pub fn try_clone(&self) -> Result<Dir, Error>

Creates a new Dir instance that shares the same underlying file handle as the existing Dir instance.

pub fn exists<P>(&self, path: P) -> bool
where P: AsRef<Path>,

Returns true if the path points at an existing entity.

This corresponds to std::path::Path::exists, but only accesses paths relative to self.

pub fn try_exists<P>(&self, path: P) -> Result<bool, Error>
where P: AsRef<Path>,

Returns true if the path points at an existing entity.

This corresponds to [std::fs::try_exists], but only accesses paths relative to self.

§API correspondence with std

This API is not yet stable in std, but is likely to be. For more information, see the tracker issue.

pub fn is_file<P>(&self, path: P) -> bool
where P: AsRef<Path>,

Returns true if the path exists on disk and is pointing at a regular file.

This corresponds to std::path::Path::is_file, but only accesses paths relative to self.

pub fn is_dir<P>(&self, path: P) -> bool
where P: AsRef<Path>,

Checks if path is a directory.

This is similar to std::path::Path::is_dir in that it checks if path relative to Dir is a directory. This function will traverse symbolic links to query information about the destination file. In case of broken symbolic links, this will return false.

pub fn open_ambient_dir<P>( path: P, ambient_authority: AmbientAuthority, ) -> Result<Dir, Error>
where P: AsRef<Path>,

Constructs a new instance of Self by opening the given path as a directory using the host process’ ambient authority.

§Ambient Authority

This function is not sandboxed and may access any path that the host process has access to.

pub fn open_parent_dir( &self, ambient_authority: AmbientAuthority, ) -> Result<Dir, Error>

Constructs a new instance of Self by opening the parent directory (aka “..”) of self, using the host process’ ambient authority.

§Ambient Authority

This function accesses a directory outside of the self subtree.

pub fn create_ambient_dir_all<P>( path: P, ambient_authority: AmbientAuthority, ) -> Result<(), Error>
where P: AsRef<Path>,

Recursively create a directory and all of its parent components if they are missing, using the host process’ ambient authority.

§Ambient Authority

This function is not sandboxed and may access any path that the host process has access to.

pub fn reopen_dir<Filelike>(dir: &Filelike) -> Result<Dir, Error>
where Filelike: AsFilelike,

Construct a new instance of Self from existing directory file descriptor.

This can be useful when interacting with other libraries and or C/C++ code which has invoked openat(..., O_DIRECTORY) external to this crate.

Trait Implementations§

§

impl AsFd for Dir

§

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

Borrows the file descriptor. Read more
§

impl AsRawFd for Dir

§

fn as_raw_fd(&self) -> i32

Extracts the raw file descriptor. Read more
§

impl Debug for Dir

§

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

Formats the value using the given formatter. Read more
§

impl DirExt for Dir

§

fn access<P>(&self, path: P, type_: AccessType) -> Result<(), Error>
where P: AsRef<Path>,

Test for accessibility or existence of a filesystem object.

Test for accessibility or existence of a filesystem object.

Changes the permissions found on a file or a directory, without following symbolic links.

§

fn set_atime<P>(&self, path: P, atime: SystemTimeSpec) -> Result<(), Error>
where P: AsRef<Path>,

Set the last access time for a file on a filesystem. Read more
§

fn set_mtime<P>(&self, path: P, mtime: SystemTimeSpec) -> Result<(), Error>
where P: AsRef<Path>,

Set the last modification time for a file on a filesystem. Read more
§

fn set_times<P>( &self, path: P, atime: Option<SystemTimeSpec>, mtime: Option<SystemTimeSpec>, ) -> Result<(), Error>
where P: AsRef<Path>,

Set the last access and modification times for a file on a filesystem. Read more
Set the last access and modification times for a file on a filesystem. This function does not follow symlink. Read more
Creates a new symbolic link on a filesystem. Read more
Creates a new file symbolic link on a filesystem. Read more
Creates a new directory symbolic link on a filesystem. Read more
§

fn open_dir_nofollow<P>(&self, path: P) -> Result<Dir, Error>
where P: AsRef<Path>,

Similar to cap_std::fs::Dir::open_dir, but fails if the path names a symlink.
Removes a file or symlink from a filesystem. Read more
§

impl From<OwnedFd> for Dir

§

fn from(fd: OwnedFd) -> Dir

Converts to this type from the input type.
§

impl FromRawFd for Dir

§

unsafe fn from_raw_fd(fd: i32) -> Dir

Constructs a new instance of Self from the given raw file descriptor. Read more
§

impl IntoRawFd for Dir

§

fn into_raw_fd(self) -> i32

Consumes this object, returning the raw underlying file descriptor. Read more
§

impl FilelikeViewType for Dir

Auto Trait Implementations§

§

impl Freeze for Dir

§

impl RefUnwindSafe for Dir

§

impl Send for Dir

§

impl Sync for Dir

§

impl Unpin for Dir

§

impl UnwindSafe for Dir

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
§

impl<T> AsFilelike for T
where T: AsFd,

§

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

Borrows the reference. Read more
§

fn as_filelike_view<Target>(&self) -> FilelikeView<'_, Target>
where Target: FilelikeViewType,

Return a borrowing view of a resource which dereferences to a &Target. Read more
§

impl<T> AsGrip for T
where T: AsFd,

§

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

Extracts the grip.
§

impl<T> AsRawFilelike for T
where T: AsRawFd,

§

fn as_raw_filelike(&self) -> i32

Returns the raw value.
§

impl<T> AsRawGrip for T
where T: AsRawFd,

§

fn as_raw_grip(&self) -> i32

Extracts the raw grip.
§

impl<T> AsRawSocketlike for T
where T: AsRawFd,

§

fn as_raw_socketlike(&self) -> i32

Returns the raw value.
§

impl<T> AsSocketlike for T
where T: AsFd,

§

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

Borrows the reference.
§

fn as_socketlike_view<Target>(&self) -> SocketlikeView<'_, Target>
where Target: SocketlikeViewType,

Return a borrowing view of a resource which dereferences to a &Target. 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
§

impl<T> FileIoExt for T
where T: AsFilelike + IoExt,

§

fn advise(&self, offset: u64, len: u64, advice: Advice) -> Result<(), Error>

Announce the expected access pattern of the data at the given offset.
§

fn allocate(&self, offset: u64, len: u64) -> Result<(), Error>

Allocate space in the file, increasing the file size as needed, and ensuring that there are no holes under the given range.
§

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

Reads a number of bytes starting from a given offset. Read more
§

fn read_exact_at(&self, buf: &mut [u8], offset: u64) -> Result<(), Error>

Reads the exact number of byte required to fill buf from the given offset. Read more
§

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

Is to read_vectored what read_at is to read.
§

fn is_read_vectored_at(&self) -> bool

Determines if this FileIoExt implementation has an efficient read_vectored_at implementation.
§

fn read_to_end_at(&self, buf: &mut Vec<u8>, offset: u64) -> Result<usize, Error>

Read all bytes, starting at offset, until EOF in this source, placing them into buf.
§

fn read_to_string_at( &self, buf: &mut String, offset: u64, ) -> Result<usize, Error>

Read all bytes, starting at offset, until EOF in this source, appending them to buf.
§

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

Writes a number of bytes starting from a given offset. Read more
§

fn write_all_at(&self, buf: &[u8], offset: u64) -> Result<(), Error>

Attempts to write an entire buffer starting from a given offset. Read more
§

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

Is to write_vectored what write_at is to write.
§

fn is_write_vectored_at(&self) -> bool

Determines if this FileIoExt implementation has an efficient write_vectored_at implementation.
§

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

Writes a number of bytes at the end of a file. Read more
§

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

Is to append what write_vectored is to write.
§

fn is_append_vectored(&self) -> bool

Determines if this FileIoExt implementation has an efficient append_vectored implementation.
§

fn seek(&self, pos: SeekFrom) -> Result<u64, Error>

Seek to an offset, in bytes, in a stream. Read more
§

fn stream_position(&self) -> Result<u64, Error>

Returns the current seek position from the start of the stream. Read more
§

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

Is to read_exact_vectored what read_exact_at is to read_exact.
§

fn write_all_vectored_at( &self, bufs: &mut [IoSlice<'_>], offset: u64, ) -> Result<(), Error>

Is to write_all_vectored what write_all_at is to write_all.
§

fn append_all(&self, buf: &[u8]) -> Result<(), Error>

Attempts to write an entire buffer at the end of a file. Read more
§

fn append_all_vectored(&self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>

Is to append_all what write_all_vectored is to write_all.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> FromFd for T
where T: From<OwnedFd>,

§

fn from_fd(owned_fd: OwnedFd) -> T

👎Deprecated since 1.0.0: FromFd::from_fd is replaced by From<OwnedFd>::from
Constructs a new instance of Self from the given file descriptor. Read more
§

fn from_into_fd<Owned>(into_owned: Owned) -> Self
where Owned: Into<OwnedFd>, Self: Sized + From<OwnedFd>,

Constructs a new instance of Self from the given file descriptor converted from into_owned. Read more
§

impl<T> FromFilelike for T
where T: From<OwnedFd>,

§

fn from_filelike(owned: OwnedFd) -> T

Constructs a new instance of Self from the given filelike object. Read more
§

fn from_into_filelike<Owned>(owned: Owned) -> T
where Owned: IntoFilelike,

Constructs a new instance of Self from the given filelike object converted from into_owned. Read more
§

impl<T> FromGrip for T
where T: From<OwnedFd>,

§

fn from_grip(owned_grip: OwnedFd) -> T

Consume an OwnedGrip and convert into a Self.
§

impl<T> FromRawFilelike for T
where T: FromRawFd,

§

unsafe fn from_raw_filelike(raw: i32) -> T

Constructs Self from the raw value. Read more
§

impl<T> FromRawGrip for T
where T: FromRawFd,

§

unsafe fn from_raw_grip(raw_grip: i32) -> T

Consume an RawGrip and convert into a Self. Read more
§

impl<T> FromRawSocketlike for T
where T: FromRawFd,

§

unsafe fn from_raw_socketlike(raw: i32) -> T

Constructs Self from the raw value. Read more
§

impl<T> FromSocketlike for T
where T: From<OwnedFd>,

§

fn from_socketlike(owned: OwnedFd) -> T

Constructs a new instance of Self from the given socketlike object.
§

fn from_into_socketlike<Owned>(owned: Owned) -> T
where Owned: IntoSocketlike,

Constructs a new instance of Self from the given socketlike object converted from into_owned.
§

impl<T> GetSetFdFlags for T

§

fn get_fd_flags(&self) -> Result<FdFlags, Error>
where T: AsFilelike,

Query the “status” flags for the self file descriptor.
§

fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>
where T: AsFilelike,

Create a new SetFdFlags value for use with set_fd_flags. Read more
§

fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>
where T: AsFilelike,

Set the “status” flags for the self file descriptor. Read more
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
§

impl<T> IntoFd for T
where OwnedFd: From<T>,

§

fn into_fd(self) -> OwnedFd

👎Deprecated since 1.0.0: IntoFd is replaced by From<...> for OwnedFd or Into<OwnedFd>
Consumes this object, returning the underlying file descriptor. Read more
§

impl<T> IntoFilelike for T
where T: Into<OwnedFd>,

§

fn into_filelike(self) -> OwnedFd

Consumes this object, returning the underlying filelike object. Read more
§

impl<T> IntoGrip for T
where T: Into<OwnedFd>,

§

fn into_grip(self) -> OwnedFd

Consume self and convert into an OwnedGrip.
§

impl<T> IntoRawFilelike for T
where T: IntoRawFd,

§

fn into_raw_filelike(self) -> i32

Returns the raw value.
§

impl<T> IntoRawGrip for T
where T: IntoRawFd,

§

fn into_raw_grip(self) -> i32

Consume self and convert into an RawGrip.
§

impl<T> IntoRawSocketlike for T
where T: IntoRawFd,

§

fn into_raw_socketlike(self) -> i32

Returns the raw value.
§

impl<T> IntoSocketlike for T
where T: Into<OwnedFd>,

§

fn into_socketlike(self) -> OwnedFd

Consumes this object, returning the underlying socketlike object.
§

impl<T> IoExt for T
where T: AsFilelike + AsSocketlike,

§

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

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

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

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

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

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

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

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

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

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

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

Read bytes from the current position without advancing the current position. Read more
§

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

Write a buffer into this writer, returning how many bytes were written. Read more
§

fn write_all(&self, buf: &[u8]) -> Result<(), Error>

Attempts to write an entire buffer into this writer. Read more
§

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

Like write, except that it writes from a slice of buffers. Read more
§

fn flush(&self) -> Result<(), Error>

Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more
§

fn write_fmt(&self, fmt: Arguments<'_>) -> Result<(), Error>

Writes a formatted string into this writer, returning any error encountered. Read more
§

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

Is to read_vectored what read_exact is to read.
§

fn write_all_vectored(&self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>

Is to write_vectored what write_all is to write.
§

impl<T> IsReadWrite for T
where T: AsFilelike,

§

fn is_read_write(&self) -> Result<(bool, bool), Error>

Test whether the handle is readable and/or writable.
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> Pointee for T

§

type Pointer = u32

§

fn debug( pointer: <T as Pointee>::Pointer, f: &mut Formatter<'_>, ) -> Result<(), Error>

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

impl<T> SetTimes for T
where T: AsFilelike,

§

fn set_times( &self, atime: Option<SystemTimeSpec>, mtime: Option<SystemTimeSpec>, ) -> Result<(), Error>

Set the last access and last modification timestamps of an open file handle. 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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more