[−][src]Struct cap_async_std::fs::Dir
A reference to an open directory on a filesystem.
This does not directly correspond to anything in async_std
, however its methods
correspond to the functions in async_std::fs
and the constructor methods for
async_std::fs::File
.
Unlike async_std::fs
, this API's canonicalize
returns a relative path since
absolute paths don't interoperate well with the capability model.
Implementations
impl Dir
[src]
pub unsafe fn from_std_file(std_file: File) -> Self
[src]
Constructs a new instance of Self
from the given async_std::fs::File
.
To prevent race conditions on Windows, the file must be opened without
FILE_SHARE_DELETE
.
Safety
async_std::fs::File
is not sandboxed and may access any path that the host
process has access to.
pub fn into_std_file(self) -> File
[src]
Consumes self
and returns an async_std::fs::File
.
pub fn open<P: AsRef<Path>>(&self, path: P) -> Result<File>
[src]
Attempts to open a file in read-only mode.
This corresponds to async_std::fs::File::open
, but only accesses paths
relative to self
.
pub fn open_with<P: AsRef<Path>>(
&self,
path: P,
options: &OpenOptions
) -> Result<File>
[src]
&self,
path: P,
options: &OpenOptions
) -> Result<File>
Opens a file at path
with the options specified by self
.
This corresponds to async_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: AsRef<Path>>(&self, path: P) -> Result<Self>
[src]
Attempts to open a directory.
pub fn create_dir<P: AsRef<Path>>(&self, path: P) -> Result<()>
[src]
Creates a new, empty directory at the provided path.
This corresponds to async_std::fs::create_dir
, but only accesses paths
relative to self
.
pub fn create_dir_all<P: AsRef<Path>>(&self, path: P) -> Result<()>
[src]
Recursively create a directory and all of its parent components if they are missing.
This corresponds to async_std::fs::create_dir_all
, but only accesses paths
relative to self
.
pub fn create_dir_with<P: AsRef<Path>>(
&self,
path: P,
dir_builder: &DirBuilder
) -> Result<()>
[src]
&self,
path: P,
dir_builder: &DirBuilder
) -> Result<()>
Creates the specified directory with the options configured in this builder.
This corresponds to async_std::fs::DirBuilder::create
.
pub fn create<P: AsRef<Path>>(&self, path: P) -> Result<File>
[src]
Opens a file in write-only mode.
This corresponds to async_std::fs::File::create
, but only accesses paths
relative to self
.
pub fn canonicalize<P: AsRef<Path>>(&self, path: P) -> Result<PathBuf>
[src]
Returns the canonical form of a path with all intermediate components normalized and symbolic links resolved.
This corresponds to async_std::fs::canonicalize
, but instead of returning an
absolute path, returns a path relative to the directory represented by self
.
pub async fn copy<P: AsRef<Path>, Q: AsRef<Path>>(
&self,
from: P,
to_dir: &Self,
to: Q
) -> Result<u64>
[src]
&self,
from: P,
to_dir: &Self,
to: Q
) -> Result<u64>
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 async_std::fs::copy
, but only accesses paths
relative to self
.
pub fn hard_link<P: AsRef<Path>, Q: AsRef<Path>>(
&self,
src: P,
dst_dir: &Self,
dst: Q
) -> Result<()>
[src]
&self,
src: P,
dst_dir: &Self,
dst: Q
) -> Result<()>
Creates a new hard link on a filesystem.
This corresponds to async_std::fs::hard_link
, but only accesses paths
relative to self
.
pub fn metadata<P: AsRef<Path>>(&self, path: P) -> Result<Metadata>
[src]
Given a path, query the file system to get information about a file, directory, etc.
This corresponds to async_std::fs::metadata
, but only accesses paths
relative to self
.
pub fn entries(&self) -> Result<ReadDir>
[src]
Returns an iterator over the entries within self
.
pub fn read_dir<P: AsRef<Path>>(&self, path: P) -> Result<ReadDir>
[src]
Returns an iterator over the entries within a directory.
This corresponds to async_std::fs::read_dir
, but only accesses paths
relative to self
.
pub async fn read<P: AsRef<Path>>(&self, path: P) -> Result<Vec<u8>>
[src]
Read the entire contents of a file into a bytes vector.
This corresponds to async_std::fs::read
, but only accesses paths
relative to self
.
pub fn read_link<P: AsRef<Path>>(&self, path: P) -> Result<PathBuf>
[src]
Reads a symbolic link, returning the file that the link points to.
This corresponds to async_std::fs::read_link
, but only accesses paths
relative to self
.
pub async fn read_to_string<P: AsRef<Path>>(&self, path: P) -> Result<String>
[src]
Read the entire contents of a file into a string.
This corresponds to async_std::fs::read_to_string
, but only accesses paths
relative to self
.
pub fn remove_dir<P: AsRef<Path>>(&self, path: P) -> Result<()>
[src]
Removes an empty directory.
This corresponds to async_std::fs::remove_dir
, but only accesses paths
relative to self
.
pub async fn remove_dir_all<P: AsRef<Path>>(&self, path: P) -> Result<()>
[src]
Removes a directory at this path, after removing all its contents. Use carefully!
This corresponds to async_std::fs::remove_dir_all
, but only accesses paths
relative to self
.
pub fn remove_open_dir(self) -> Result<()>
[src]
Remove the directory referenced by self
and consume self
.
Note that 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<()>
[src]
Removes the directory referenced by self
, after removing all its contents, and
consume self
. Use carefully!
Note that 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: AsRef<Path>>(&self, path: P) -> Result<()>
[src]
Removes a file from a filesystem.
This corresponds to async_std::fs::remove_file
, but only accesses paths
relative to self
.
pub fn rename<P: AsRef<Path>, Q: AsRef<Path>>(
&self,
from: P,
to_dir: &Self,
to: Q
) -> Result<()>
[src]
&self,
from: P,
to_dir: &Self,
to: Q
) -> Result<()>
Rename a file or directory to a new name, replacing the original file if to already exists.
This corresponds to async_std::fs::rename
, but only accesses paths
relative to self
.
pub fn set_permissions<P: AsRef<Path>>(
&self,
path: P,
perm: Permissions
) -> Result<()>
[src]
&self,
path: P,
perm: Permissions
) -> Result<()>
Changes the permissions found on a file or a directory.
This corresponds to async_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.
pub fn symlink_metadata<P: AsRef<Path>>(&self, path: P) -> Result<Metadata>
[src]
Query the metadata about a file without following symlinks.
This corresponds to async_std::fs::symlink_metadata
, but only accesses paths
relative to self
.
pub async fn write<P: AsRef<Path>, C: AsRef<[u8]>>(
&self,
path: P,
contents: C
) -> Result<()>
[src]
&self,
path: P,
contents: C
) -> Result<()>
Write a slice as the entire contents of a file.
This corresponds to async_std::fs::write
, but only accesses paths
relative to self
.
pub fn symlink<P: AsRef<Path>, Q: AsRef<Path>>(
&self,
src: P,
dst: Q
) -> Result<()>
[src]
&self,
src: P,
dst: Q
) -> Result<()>
Creates a new symbolic link on a filesystem.
This corresponds to async_std::os::unix::fs::symlink
, but only accesses paths
relative to self
.
pub fn bind_unix_listener<P: AsRef<Path>>(
&self,
path: P
) -> Result<UnixListener>
[src]
&self,
path: P
) -> Result<UnixListener>
Creates a new UnixListener
bound to the specified socket.
This corresponds to async_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: AsRef<Path>>(&self, path: P) -> Result<UnixStream>
[src]
Connects to the socket named by path.
This corresponds to async_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: AsRef<Path>>(
&self,
path: P
) -> Result<UnixDatagram>
[src]
&self,
path: P
) -> Result<UnixDatagram>
Creates a Unix datagram socket bound to the given path.
This corresponds to async_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: AsRef<Path>>(
&self,
_unix_datagram: &UnixDatagram,
path: P
) -> Result<()>
[src]
&self,
_unix_datagram: &UnixDatagram,
path: P
) -> Result<()>
Connects the socket to the specified address.
This corresponds to async_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: AsRef<Path>>(
&self,
_unix_datagram: &UnixDatagram,
buf: &[u8],
path: P
) -> Result<usize>
[src]
&self,
_unix_datagram: &UnixDatagram,
buf: &[u8],
path: P
) -> Result<usize>
Sends data on the socket to the specified address.
This corresponds to async_std::os::unix::net::UnixDatagram::send_to
, but only
accesses paths relative to self
.
XXX: This function is not yet implemented.
pub fn exists<P: AsRef<Path>>(&self, path: P) -> bool
[src]
Returns true
if the path points at an existing entity.
This corresponds to async_std::path::Path::exists
, but only
accesses paths relative to self
.
pub fn is_file<P: AsRef<Path>>(&self, path: P) -> bool
[src]
Returns true
if the path exists on disk and is pointing at a regular file.
This corresponds to async_std::path::Path::is_file
, but only
accesses paths relative to self
.
pub fn is_dir<P: AsRef<Path>>(&self, path: P) -> bool
[src]
Checks if path
is a directory.
This is similar to async_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 unsafe fn open_ambient_dir<P: AsRef<Path>>(path: P) -> Result<Self>
[src]
Constructs a new instance of Self
by opening the given path as a
directory using the host process' ambient authority.
Safety
This function is not sandboxed and may access any path that the host process has access to.
Trait Implementations
impl AsRawFd for Dir
[src]
impl Debug for Dir
[src]
impl FromRawFd for Dir
[src]
pub unsafe fn from_raw_fd(fd: RawFd) -> Self
[src]
impl IntoRawFd for Dir
[src]
pub fn into_raw_fd(self) -> RawFd
[src]
Auto Trait Implementations
impl !RefUnwindSafe for Dir
[src]
impl Send for Dir
[src]
impl Sync for Dir
[src]
impl Unpin for Dir
[src]
impl !UnwindSafe for Dir
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> AsUnsafeFile for T where
T: AsRawFd,
[src]
T: AsRawFd,
pub fn as_unsafe_file(&self) -> UnsafeFile
[src]
pub fn as_file_view(&self) -> View<'_, File>
[src]
pub unsafe fn as_unscoped_file_view(&self) -> View<'static, File>
[src]
impl<T> AsUnsafeHandle for T where
T: AsRawFd,
[src]
T: AsRawFd,
pub fn as_unsafe_handle(&self) -> UnsafeHandle
[src]
impl<T> AsUnsafeSocket for T where
T: AsRawFd,
[src]
T: AsRawFd,
pub fn as_unsafe_socket(&self) -> UnsafeSocket
[src]
pub fn as_tcp_stream_view(&self) -> View<'_, TcpStream>
[src]
pub unsafe fn as_unscoped_tcp_stream_view(&self) -> View<'static, TcpStream>
[src]
pub fn as_tcp_listener_view(&self) -> View<'_, TcpListener>
[src]
pub unsafe fn as_unscoped_tcp_listener_view(&self) -> View<'static, TcpListener>
[src]
pub fn as_udp_socket_view(&self) -> View<'_, UdpSocket>
[src]
pub unsafe fn as_unscoped_udp_socket_view(&self) -> View<'static, UdpSocket>
[src]
pub fn as_unix_stream_view(&self) -> View<'_, UnixStream>
[src]
pub unsafe fn as_unscoped_unix_stream_view(&self) -> View<'static, UnixStream>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T> FromUnsafeFile for T where
T: FromRawFd,
[src]
T: FromRawFd,
pub unsafe fn from_unsafe_file(unsafe_file: UnsafeFile) -> T
[src]
impl<T> FromUnsafeSocket for T where
T: FromRawFd,
[src]
T: FromRawFd,
pub unsafe fn from_unsafe_socket(unsafe_socket: UnsafeSocket) -> T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> IntoUnsafeFile for T where
T: IntoRawFd,
[src]
T: IntoRawFd,
pub fn into_unsafe_file(self) -> UnsafeFile
[src]
pub fn into_file(self) -> File
[src]
impl<T> IntoUnsafeHandle for T where
T: IntoRawFd,
[src]
T: IntoRawFd,
pub fn into_unsafe_handle(self) -> UnsafeHandle
[src]
impl<T> IntoUnsafeSocket for T where
T: IntoRawFd,
[src]
T: IntoRawFd,
pub fn into_unsafe_socket(self) -> UnsafeSocket
[src]
pub fn into_tcp_stream(self) -> TcpStream
[src]
impl<T> SetTimes for T where
T: AsRawFd,
T: AsRawFd,
pub fn set_times(
&self,
atime: Option<SystemTimeSpec>,
mtime: Option<SystemTimeSpec>
) -> Result<(), Error>
&self,
atime: Option<SystemTimeSpec>,
mtime: Option<SystemTimeSpec>
) -> Result<(), Error>
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,