Expand description
Fuchsia Rust Virtual File System (VFS) framework.
This crate provides safe, asynchronous implementations of the fuchsia.io VFS protocols
(directories, files, services, symbolic links, and remote directory mounts).
Re-exports§
pub use crate::common::CreationMode;pub use crate::execution_scope::ExecutionScope;pub use crate::execution_scope::WeakExecutionScope;pub use crate::object_request::ObjectRequest;pub use crate::object_request::ObjectRequestRef;pub use crate::object_request::ToObjectRequest;pub use crate::path::Path;pub use ::name;
Modules§
- common
- Common utilities used by both directory and file traits.
- directory
- Module holding different kinds of pseudo directories and their building blocks.
- execution_
scope - Values of this type represent “execution scopes” used by the library to give fine grained control of the lifetimes of the tasks associated with particular connections. When a new connection is attached to a pseudo directory tree, an execution scope is provided. This scope is then used to start any tasks related to this connection. All connections opened as a result of operations on this first connection will also use the same scope, as well as any tasks related to those connections.
- file
- Module holding different kinds of files and their building blocks.
- node
- Implementation of a (limited) node connection.
- object_
request - path
- Type that represents a path in a file system. Objects of this type own a String that holds the
“full” path and provide an iterator that goes over individual components of the path. This
approach is used to allow passing the path string, from one
open()method to the next, without the need to copy the path itself. - remote
- A node which forwards open requests to a remote fuchsia.io server.
- service
- Implementations of a service endpoint.
- symlink
- Server support for symbolic links.
- temp_
clone - token_
registry - Implementation of
TokenRegistry. - tree_
builder - A helper to build a tree of directory nodes. It is useful in case when a nested tree is
desired, with specific nodes to be inserted as the leafs of this tree. It is similar to the
functionality provided by the [
vfs_macros::pseudo_directory!] macro, except that the macro expects the tree structure to be defined at compile time, while this helper allows the tree structure to be dynamic.
Macros§
- attributes
- Helper for building [
fio::NodeAttributes2]givenrequestedattributes. Code will only run forrequested` attributes. - immutable_
attributes - Helper for building [
fio::NodeAttributes2]given immutable attributes inrequestedCode will only run forrequestedattributes. Mutable attributes inrequested` are ignored. - pseudo_
directory - Builds a pseudo directory using a simple DSL. The directory entry names must be static strings
(
&'static str).
Traits§
- Protocols
Ext - Extends fio::Flags and fio::OpenFlags
Functions§
- serve_
directory - Helper function to serve a new connection to the directory at
pathunderrootwithflags. Errors will be communicated via epitaph on the returned proxy. A newExecutionScopewill be created for the request. - serve_
file - Helper function to serve a new connection to the file at
pathunderrootwithflags. Errors will be communicated via epitaph on the returned proxy. A newExecutionScopewill be created for the request.