Struct wasmtime_wasi::sync::Dir
source · [−]pub struct Dir { /* private fields */ }
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
sourceimpl Dir
impl Dir
sourcepub fn from_std_file(std_file: File) -> 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.
sourcepub fn into_std_file(self) -> File
pub fn into_std_file(self) -> File
Consumes self
and returns a std::fs::File
.
sourcepub fn open<P>(&self, path: P) -> Result<File, Error> where
P: AsRef<Path>,
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
.
sourcepub fn open_with<P>(
&self,
path: P,
options: &OpenOptions
) -> Result<File, Error> where
P: AsRef<Path>,
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
.
sourcepub fn open_dir<P>(&self, path: P) -> Result<Dir, Error> where
P: AsRef<Path>,
pub fn open_dir<P>(&self, path: P) -> Result<Dir, Error> where
P: AsRef<Path>,
Attempts to open a directory.
sourcepub fn create_dir<P>(&self, path: P) -> Result<(), Error> where
P: AsRef<Path>,
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
.
sourcepub fn create_dir_all<P>(&self, path: P) -> Result<(), Error> where
P: AsRef<Path>,
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
.
sourcepub fn create_dir_with<P>(
&self,
path: P,
dir_builder: &DirBuilder
) -> Result<(), Error> where
P: AsRef<Path>,
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
.
sourcepub fn create<P>(&self, path: P) -> Result<File, Error> where
P: AsRef<Path>,
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
.
sourcepub fn canonicalize<P>(&self, path: P) -> Result<PathBuf, Error> where
P: AsRef<Path>,
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
.
sourcepub fn copy<P, Q>(&self, from: P, to_dir: &Dir, to: Q) -> Result<u64, Error> where
P: AsRef<Path>,
Q: AsRef<Path>,
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
.
sourcepub fn hard_link<P, Q>(
&self,
src: P,
dst_dir: &Dir,
dst: Q
) -> Result<(), Error> where
P: AsRef<Path>,
Q: AsRef<Path>,
pub fn hard_link<P, Q>(
&self,
src: P,
dst_dir: &Dir,
dst: Q
) -> Result<(), Error> where
P: AsRef<Path>,
Q: AsRef<Path>,
Creates a new hard link on a filesystem.
This corresponds to std::fs::hard_link
, but only accesses paths
relative to self
.
sourcepub fn metadata<P>(&self, path: P) -> Result<Metadata, Error> where
P: AsRef<Path>,
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
.
sourcepub fn dir_metadata(&self) -> Result<Metadata, Error>
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
.
sourcepub fn entries(&self) -> Result<ReadDir, Error>
pub fn entries(&self) -> Result<ReadDir, Error>
Returns an iterator over the entries within self
.
sourcepub fn read_dir<P>(&self, path: P) -> Result<ReadDir, Error> where
P: AsRef<Path>,
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
.
sourcepub fn read<P>(&self, path: P) -> Result<Vec<u8, Global>, Error> where
P: AsRef<Path>,
pub fn read<P>(&self, path: P) -> Result<Vec<u8, Global>, 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
.
sourcepub fn read_link<P>(&self, path: P) -> Result<PathBuf, Error> where
P: AsRef<Path>,
pub fn read_link<P>(&self, path: P) -> Result<PathBuf, Error> where
P: AsRef<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
.
sourcepub fn read_to_string<P>(&self, path: P) -> Result<String, Error> where
P: AsRef<Path>,
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
.
sourcepub fn remove_dir<P>(&self, path: P) -> Result<(), Error> where
P: AsRef<Path>,
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
.
sourcepub fn remove_dir_all<P>(&self, path: P) -> Result<(), Error> where
P: AsRef<Path>,
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
.
sourcepub fn remove_open_dir(self) -> Result<(), Error>
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.
sourcepub fn remove_open_dir_all(self) -> Result<(), Error>
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.
sourcepub fn remove_file<P>(&self, path: P) -> Result<(), Error> where
P: AsRef<Path>,
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
.
sourcepub fn rename<P, Q>(&self, from: P, to_dir: &Dir, to: Q) -> Result<(), Error> where
P: AsRef<Path>,
Q: AsRef<Path>,
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
.
sourcepub fn set_permissions<P>(
&self,
path: P,
perm: Permissions
) -> Result<(), Error> where
P: AsRef<Path>,
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.
sourcepub fn symlink_metadata<P>(&self, path: P) -> Result<Metadata, Error> where
P: AsRef<Path>,
pub fn symlink_metadata<P>(&self, path: P) -> Result<Metadata, Error> where
P: AsRef<Path>,
Query the metadata about a file without following symlinks.
This corresponds to std::fs::symlink_metadata
, but only accesses
paths relative to self
.
sourcepub fn write<P, C>(&self, path: P, contents: C) -> Result<(), Error> where
P: AsRef<Path>,
C: AsRef<[u8]>,
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
.
sourcepub fn symlink<P, Q>(&self, original: P, link: Q) -> Result<(), Error> where
P: AsRef<Path>,
Q: AsRef<Path>,
pub fn symlink<P, Q>(&self, original: P, link: Q) -> Result<(), Error> where
P: AsRef<Path>,
Q: AsRef<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
.
sourcepub fn bind_unix_listener<P>(&self, path: P) -> Result<UnixListener, Error> where
P: AsRef<Path>,
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.
sourcepub fn connect_unix_stream<P>(&self, path: P) -> Result<UnixStream, Error> where
P: AsRef<Path>,
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.
sourcepub fn bind_unix_datagram<P>(&self, path: P) -> Result<UnixDatagram, Error> where
P: AsRef<Path>,
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.
sourcepub fn connect_unix_datagram<P>(
&self,
_unix_datagram: &UnixDatagram,
path: P
) -> Result<(), Error> where
P: AsRef<Path>,
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.
sourcepub fn send_to_unix_datagram_addr<P>(
&self,
_unix_datagram: &UnixDatagram,
buf: &[u8],
path: P
) -> Result<usize, Error> where
P: AsRef<Path>,
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.
sourcepub fn try_clone(&self) -> Result<Dir, Error>
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.
sourcepub fn exists<P>(&self, path: P) -> bool where
P: AsRef<Path>,
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
.
sourcepub fn try_exists<P>(&self, path: P) -> Result<bool, Error> where
P: AsRef<Path>,
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.
sourcepub fn is_file<P>(&self, path: P) -> bool where
P: AsRef<Path>,
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
.
sourcepub fn is_dir<P>(&self, path: P) -> bool where
P: AsRef<Path>,
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
.
sourcepub fn open_ambient_dir<P>(
path: P,
ambient_authority: AmbientAuthority
) -> Result<Dir, Error> where
P: AsRef<Path>,
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.
sourcepub fn open_parent_dir(
&self,
ambient_authority: AmbientAuthority
) -> Result<Dir, Error>
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.
sourcepub fn create_ambient_dir_all<P>(
path: P,
ambient_authority: AmbientAuthority
) -> Result<(), Error> where
P: AsRef<Path>,
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.
sourcepub fn reopen_dir<Filelike>(dir: &Filelike) -> Result<Dir, Error> where
Filelike: AsFilelike,
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
sourceimpl AsFd for Dir
impl AsFd for Dir
sourcefn as_fd(&self) -> BorrowedFd<'_>
fn as_fd(&self) -> BorrowedFd<'_>
Borrows the file descriptor. Read more
sourceimpl DirExt for Dir
impl DirExt for Dir
sourcefn set_atime<P>(&self, path: P, atime: SystemTimeSpec) -> Result<(), Error> where
P: AsRef<Path>,
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
sourcefn set_mtime<P>(&self, path: P, mtime: SystemTimeSpec) -> Result<(), Error> where
P: AsRef<Path>,
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
sourcefn set_times<P>(
&self,
path: P,
atime: Option<SystemTimeSpec>,
mtime: Option<SystemTimeSpec>
) -> Result<(), Error> where
P: AsRef<Path>,
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
sourcefn set_symlink_times<P>(
&self,
path: P,
atime: Option<SystemTimeSpec>,
mtime: Option<SystemTimeSpec>
) -> Result<(), Error> where
P: AsRef<Path>,
fn set_symlink_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. This function does not follow symlink. Read more
sourcefn symlink<P, Q>(&self, src: P, dst: Q) -> Result<(), Error> where
P: AsRef<Path>,
Q: AsRef<Path>,
fn symlink<P, Q>(&self, src: P, dst: Q) -> Result<(), Error> where
P: AsRef<Path>,
Q: AsRef<Path>,
Creates a new symbolic link on a filesystem. Read more
sourcefn symlink_file<P, Q>(&self, src: P, dst: Q) -> Result<(), Error> where
P: AsRef<Path>,
Q: AsRef<Path>,
fn symlink_file<P, Q>(&self, src: P, dst: Q) -> Result<(), Error> where
P: AsRef<Path>,
Q: AsRef<Path>,
Creates a new file symbolic link on a filesystem. Read more
sourcefn symlink_dir<P, Q>(&self, src: P, dst: Q) -> Result<(), Error> where
P: AsRef<Path>,
Q: AsRef<Path>,
fn symlink_dir<P, Q>(&self, src: P, dst: Q) -> Result<(), Error> where
P: AsRef<Path>,
Q: AsRef<Path>,
Creates a new directory symbolic link on a filesystem. Read more
sourceimpl FromRawFd for Dir
impl FromRawFd for Dir
sourceunsafe fn from_raw_fd(fd: i32) -> Dir
unsafe fn from_raw_fd(fd: i32) -> Dir
Constructs a new instance of Self
from the given raw file
descriptor. Read more
Auto Trait Implementations
impl RefUnwindSafe for Dir
impl Send for Dir
impl Sync for Dir
impl Unpin for Dir
impl UnwindSafe for Dir
Blanket Implementations
sourceimpl<T> AsFilelike for T where
T: AsFd,
impl<T> AsFilelike for T where
T: AsFd,
sourcefn as_filelike(&self) -> BorrowedFd<'_>
fn as_filelike(&self) -> BorrowedFd<'_>
Borrows the reference. Read more
sourcefn as_filelike_view<Target>(&self) -> FilelikeView<'_, Target> where
Target: FilelikeViewType,
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
sourceimpl<T> AsGrip for T where
T: AsFd,
impl<T> AsGrip for T where
T: AsFd,
sourcefn as_grip(&self) -> BorrowedFd<'_>
fn as_grip(&self) -> BorrowedFd<'_>
Extracts the grip.
sourceimpl<T> AsRawFilelike for T where
T: AsRawFd,
impl<T> AsRawFilelike for T where
T: AsRawFd,
sourcefn as_raw_filelike(&self) -> i32
fn as_raw_filelike(&self) -> i32
Returns the raw value.
sourceimpl<T> AsRawGrip for T where
T: AsRawFd,
impl<T> AsRawGrip for T where
T: AsRawFd,
sourcefn as_raw_grip(&self) -> i32
fn as_raw_grip(&self) -> i32
Extracts the raw grip.
sourceimpl<T> AsRawSocketlike for T where
T: AsRawFd,
impl<T> AsRawSocketlike for T where
T: AsRawFd,
sourcefn as_raw_socketlike(&self) -> i32
fn as_raw_socketlike(&self) -> i32
Returns the raw value.
sourceimpl<T> AsSocketlike for T where
T: AsFd,
impl<T> AsSocketlike for T where
T: AsFd,
sourcefn as_socketlike(&self) -> BorrowedFd<'_>
fn as_socketlike(&self) -> BorrowedFd<'_>
Borrows the reference.
sourcefn as_socketlike_view<Target>(&self) -> SocketlikeView<'_, Target> where
Target: SocketlikeViewType,
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
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> FileIoExt for T where
T: AsFilelike + IoExt,
impl<T> FileIoExt for T where
T: AsFilelike + IoExt,
sourcefn advise(&self, offset: u64, len: u64, advice: Advice) -> Result<(), Error>
fn advise(&self, offset: u64, len: u64, advice: Advice) -> Result<(), Error>
Announce the expected access pattern of the data at the given offset.
sourcefn allocate(&self, offset: u64, len: u64) -> Result<(), Error>
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. Read more
sourcefn read_at(&self, buf: &mut [u8], offset: u64) -> Result<usize, Error>
fn read_at(&self, buf: &mut [u8], offset: u64) -> Result<usize, Error>
Reads a number of bytes starting from a given offset. Read more
sourcefn read_exact_at(&self, buf: &mut [u8], offset: u64) -> Result<(), Error>
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
sourcefn read_vectored_at(
&self,
bufs: &mut [IoSliceMut<'_>],
offset: u64
) -> Result<usize, Error>
fn read_vectored_at(
&self,
bufs: &mut [IoSliceMut<'_>],
offset: u64
) -> Result<usize, Error>
Is to read_vectored
what read_at
is to read
.
sourcefn is_read_vectored_at(&self) -> bool
fn is_read_vectored_at(&self) -> bool
Determines if this Read
er has an efficient read_vectored_at
implementation. Read more
sourcefn read_to_end_at(
&self,
buf: &mut Vec<u8, Global>,
offset: u64
) -> Result<usize, Error>
fn read_to_end_at(
&self,
buf: &mut Vec<u8, Global>,
offset: u64
) -> Result<usize, Error>
Read all bytes, starting at offset
, until EOF in this source, placing
them into buf
. Read more
sourcefn read_to_string_at(
&self,
buf: &mut String,
offset: u64
) -> Result<usize, Error>
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
. Read more
sourcefn write_at(&self, buf: &[u8], offset: u64) -> Result<usize, Error>
fn write_at(&self, buf: &[u8], offset: u64) -> Result<usize, Error>
Writes a number of bytes starting from a given offset. Read more
sourcefn write_all_at(&self, buf: &[u8], offset: u64) -> Result<(), Error>
fn write_all_at(&self, buf: &[u8], offset: u64) -> Result<(), Error>
Attempts to write an entire buffer starting from a given offset. Read more
sourcefn write_vectored_at(
&self,
bufs: &[IoSlice<'_>],
offset: u64
) -> Result<usize, Error>
fn write_vectored_at(
&self,
bufs: &[IoSlice<'_>],
offset: u64
) -> Result<usize, Error>
Is to write_vectored
what write_at
is to write
.
sourcefn is_write_vectored_at(&self) -> bool
fn is_write_vectored_at(&self) -> bool
Determines if this Write
r has an efficient write_vectored_at
implementation. Read more
sourcefn seek(&self, pos: SeekFrom) -> Result<u64, Error>
fn seek(&self, pos: SeekFrom) -> Result<u64, Error>
Seek to an offset, in bytes, in a stream. Read more
sourcefn stream_position(&self) -> Result<u64, Error>
fn stream_position(&self) -> Result<u64, Error>
Returns the current seek position from the start of the stream. Read more
sourcefn read_exact_vectored_at(
&self,
bufs: &mut [IoSliceMut<'_>],
offset: u64
) -> Result<(), Error>
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
.
sourceimpl<T> FromFilelike for T where
T: FromFd,
impl<T> FromFilelike for T where
T: FromFd,
sourcefn from_filelike(owned: OwnedFd) -> T
fn from_filelike(owned: OwnedFd) -> T
Constructs a new instance of Self
from the given filelike object. Read more
sourcefn from_into_filelike<Owned>(owned: Owned) -> T where
Owned: IntoFilelike,
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
sourceimpl<T> FromRawFilelike for T where
T: FromRawFd,
impl<T> FromRawFilelike for T where
T: FromRawFd,
sourceunsafe fn from_raw_filelike(raw: i32) -> T
unsafe fn from_raw_filelike(raw: i32) -> T
Constructs Self
from the raw value. Read more
sourceimpl<T> FromRawGrip for T where
T: FromRawFd,
impl<T> FromRawGrip for T where
T: FromRawFd,
sourceunsafe fn from_raw_grip(raw_grip: i32) -> T
unsafe fn from_raw_grip(raw_grip: i32) -> T
Consume an RawGrip
and convert into a Self
. Read more
sourceimpl<T> FromRawSocketlike for T where
T: FromRawFd,
impl<T> FromRawSocketlike for T where
T: FromRawFd,
sourceunsafe fn from_raw_socketlike(raw: i32) -> T
unsafe fn from_raw_socketlike(raw: i32) -> T
Constructs Self
from the raw value. Read more
sourceimpl<T> FromSocketlike for T where
T: FromFd,
impl<T> FromSocketlike for T where
T: FromFd,
sourcefn from_socketlike(owned: OwnedFd) -> T
fn from_socketlike(owned: OwnedFd) -> T
Constructs a new instance of Self
from the given socketlike object.
sourcefn from_into_socketlike<Owned>(owned: Owned) -> T where
Owned: IntoSocketlike,
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
. Read more
sourceimpl<T> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
sourcefn get_fd_flags(&self) -> Result<FdFlags, Error> where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error> where
T: AsFilelike,
Query the “status” flags for the self
file descriptor.
sourcefn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error> where
T: AsFilelike,
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
sourcefn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error> where
T: AsFilelike,
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
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> IntoFilelike for T where
T: IntoFd,
impl<T> IntoFilelike for T where
T: IntoFd,
sourcefn into_filelike(self) -> OwnedFd
fn into_filelike(self) -> OwnedFd
Consumes this object, returning the underlying filelike object. Read more
sourceimpl<T> IntoRawFilelike for T where
T: IntoRawFd,
impl<T> IntoRawFilelike for T where
T: IntoRawFd,
sourcefn into_raw_filelike(self) -> i32
fn into_raw_filelike(self) -> i32
Returns the raw value.
sourceimpl<T> IntoRawGrip for T where
T: IntoRawFd,
impl<T> IntoRawGrip for T where
T: IntoRawFd,
sourcefn into_raw_grip(self) -> i32
fn into_raw_grip(self) -> i32
Consume self
and convert into an RawGrip
.
sourceimpl<T> IntoRawSocketlike for T where
T: IntoRawFd,
impl<T> IntoRawSocketlike for T where
T: IntoRawFd,
sourcefn into_raw_socketlike(self) -> i32
fn into_raw_socketlike(self) -> i32
Returns the raw value.
sourceimpl<T> IntoSocketlike for T where
T: IntoFd,
impl<T> IntoSocketlike for T where
T: IntoFd,
sourcefn into_socketlike(self) -> OwnedFd
fn into_socketlike(self) -> OwnedFd
Consumes this object, returning the underlying socketlike object.
sourceimpl<T> IoExt for T where
T: AsFilelike + AsSocketlike,
impl<T> IoExt for T where
T: AsFilelike + AsSocketlike,
sourcefn read(&self, buf: &mut [u8]) -> Result<usize, Error>
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
sourcefn read_exact(&self, buf: &mut [u8]) -> Result<(), Error>
fn read_exact(&self, buf: &mut [u8]) -> Result<(), Error>
Read the exact number of bytes required to fill buf
. Read more
sourcefn read_vectored(&self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>
fn read_vectored(&self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>
Like read
, except that it reads into a slice of buffers. Read more
sourcefn read_to_end(&self, buf: &mut Vec<u8, Global>) -> Result<usize, Error>
fn read_to_end(&self, buf: &mut Vec<u8, Global>) -> Result<usize, Error>
Read all bytes until EOF in this source, placing them into buf
. Read more
sourcefn read_to_string(&self, buf: &mut String) -> Result<usize, Error>
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
sourcefn peek(&self, buf: &mut [u8]) -> Result<usize, Error>
fn peek(&self, buf: &mut [u8]) -> Result<usize, Error>
Read bytes from the current position without advancing the current position. Read more
sourcefn write(&self, buf: &[u8]) -> Result<usize, Error>
fn write(&self, buf: &[u8]) -> Result<usize, Error>
Write a buffer into this writer, returning how many bytes were written. Read more
sourcefn write_all(&self, buf: &[u8]) -> Result<(), Error>
fn write_all(&self, buf: &[u8]) -> Result<(), Error>
Attempts to write an entire buffer into this writer. Read more
sourcefn write_vectored(&self, bufs: &[IoSlice<'_>]) -> Result<usize, Error>
fn write_vectored(&self, bufs: &[IoSlice<'_>]) -> Result<usize, Error>
Like write
, except that it writes from a slice of buffers. Read more
sourcefn flush(&self) -> Result<(), Error>
fn flush(&self) -> Result<(), Error>
Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more
sourcefn write_fmt(&self, fmt: Arguments<'_>) -> Result<(), Error>
fn write_fmt(&self, fmt: Arguments<'_>) -> Result<(), Error>
Writes a formatted string into this writer, returning any error encountered. Read more
sourcefn read_exact_vectored(&self, bufs: &mut [IoSliceMut<'_>]) -> Result<(), Error>
fn read_exact_vectored(&self, bufs: &mut [IoSliceMut<'_>]) -> Result<(), Error>
Is to read_vectored
what read_exact
is to read
.
sourceimpl<T> IsReadWrite for T where
T: AsFilelike,
impl<T> IsReadWrite for T where
T: AsFilelike,
sourceimpl<T> IsTerminal for T where
T: AsFilelike,
impl<T> IsTerminal for T where
T: AsFilelike,
sourcefn is_terminal(&self) -> bool
fn is_terminal(&self) -> bool
Test whether this output stream is attached to a terminal. Read more
sourceimpl<Stream> IsTerminal for Stream where
Stream: AsFilelike,
impl<Stream> IsTerminal for Stream where
Stream: AsFilelike,
sourcefn is_terminal(&self) -> bool
fn is_terminal(&self) -> bool
Returns true if this is a terminal. Read more
sourceimpl<T> Pointable for T
impl<T> Pointable for T
sourceimpl<T> SetTimes for T where
T: AsFilelike,
impl<T> SetTimes for T where
T: AsFilelike,
sourcefn set_times(
&self,
atime: Option<SystemTimeSpec>,
mtime: Option<SystemTimeSpec>
) -> Result<(), Error>
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
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
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
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more