Crate virtual_fs

Source

Re-exports§

pub use arc_box_file::*;
pub use arc_file::*;
pub use arc_fs::*;
pub use buffer_file::*;
pub use builder::*;
pub use combine_file::*;
pub use cow_file::*;
pub use dual_write_file::*;
pub use empty_fs::*;
pub use null_file::*;
pub use passthru_fs::*;
pub use pipe::*;
pub use special_file::*;
pub use tmp_fs::*;
pub use union_fs::*;
pub use zero_file::*;

Modules§

arc_box_file
Used for sharing references to the same file across multiple file systems, effectively this is a symbolic link without all the complex path redirection
arc_file
Used for sharing references to the same file across multiple file systems, effectively this is a symbolic link without all the complex path redirection
arc_fs
Wraps a clonable Arc of a file system - in practice this is useful so you can pass clonable file systems with a Box<dyn FileSystem> to other interfaces
buffer_file
Used for /dev/zero - infinitely returns zero which is useful for commands like dd if=/dev/zero of=bigfile.img size=1G
builder
combine_file
cow_file
Used for /dev/zero - infinitely returns zero which is useful for commands like dd if=/dev/zero of=bigfile.img size=1G
dual_write_file
empty_fs
When no file system is used by a WebC then this is used as a placeholder - as the name suggests it always returns file not found.
filesystems ðŸ”’
host_fs
limiter
mem_fs
null_file
NullFile is a special file for /dev/null, which returns 0 for all operations except writing.
ops ðŸ”’
Common FileSystem operations.
overlay_fs ðŸ”’
passthru_fs
Wraps a boxed file system with an implemented trait VirtualSystem - this is needed so that a Box<dyn VirtualFileSystem> can be wrapped in an Arc and shared - some of the interfaces pass around a Box<dyn VirtualFileSystem>
pipe
random_file
Used for /dev/zero - infinitely returns zero which is useful for commands like dd if=/dev/zero of=bigfile.img size=1G
special_file
Used for /dev/stdin, /dev/stdout, dev/stderr - returns a static file descriptor (0, 1, 2)
static_file ðŸ”’
static_fs
tmp_fs
Wraps the memory file system implementation - this has been enhanced to support mounting file systems, shared static files, readonly files, etc…
trace_fs ðŸ”’
union_fs
Another implementation of the union that uses paths, its not as simple as TmpFs. not currently used but was used by the previoulsy implementation of Deploy - now using TmpFs
webc_volume_fs ðŸ”’
zero_file
Used for /dev/zero - infinitely returns zero which is useful for commands like dd if=/dev/zero of=bigfile.img size=1G

Structs§

DirEntry
FileType
Metadata
OpenOptions
OpenOptionsConfig
OverlayFileSystem
A primary filesystem and chain of secondary filesystems that are overlayed on top of each other.
ReadBuf
A wrapper around a byte buffer that is incrementally filled and initialized.
ReadDir
StaticFile
An immutable file backed by an [OwnedBuffer].
TraceFileSystem
A FileSystem wrapper that will automatically log all operations at the trace level.
WebcVolumeFileSystem

Enums§

FsError
Error type for external users
StdioMode
Determines the mode that stdio handlers will operate in

Traits§

AsyncRead
Reads bytes from a source.
AsyncReadExt
Reads bytes from a source.
AsyncSeek
Seek bytes asynchronously.
AsyncSeekExt
An extension trait that adds utility methods to AsyncSeek types.
AsyncWrite
Writes bytes asynchronously.
AsyncWriteExt
Writes bytes to a sink.
ClonableVirtualFile
FileOpener
FileSystem
FileSystems
A chain of one or more FileSystems.
Upcastable
Trait needed to get downcasting from VirtualFile to work.
VirtualFile
This trait relies on your file closing when it goes out of scope via Drop

Functions§

copy_reference
Copies the reference of a file from one file system to another
copy_reference_ext
Copies the reference of a file from one file system to another
create_dir_all
Make sure a directory (and all its parents) exist.
walk
Recursively iterate over all paths inside a directory, ignoring any errors that may occur along the way.

Type Aliases§

Result