Expand description
A library to create “pseudo” file systems. These file systems are backed by in process callbacks. Examples are: component configuration, debug information or statistics.
Modules
Common utilities used by both directory and file traits.
Module holding different kinds of pseudo directories and their building blocks.
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.
Module holding different kinds of files and their building blocks.
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.A node which forwards open requests to a remote fuchsia.io server.
Implementations of a service endpoint.
Utilities used by tests in both file and directory modules.
Implementation of
TokenRegistry
.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
Calls
rewind
on the provided proxy
, checking that the result status is Status::OK.Wraps an
assert_vmo_content()
call, panicking with a descriptive error message for any Err
return values.This macro is identical to
pseudo_directory!
, except that it constructs instances of
directory::mutable::simple()
, allowing the clients connected over the FIDL connection to
modify this directory. Clients operations are still checked against specific connection
permissions as specified in the fuchsia.io
interface.Opens the specified path as a file and checks its content. Also see all the
assert_*
macros
in ../test_utils.rs
.Opens the specified path as a VMO file and checks its content. Also see all the
assert_*
macros in ../test_utils.rs
.Builds a pseudo directory using a simple DSL, potentially containing files and nested pseudo
directories.
Wraps a
report_invalid_vmo_content()
call, panicking with a descriptive error message for
any Err
return values.Constants
The maximum length, in bytes, of a single filesystem component