Module vfs

Source
Expand description

A virtual file system layer that lets us define multiple “file systems” with various backing stores, then merge them together.

Basically a re-implementation of the C library PhysFS. The vfs crate does something similar but has a couple design decisions that make it kind of incompatible with this use case: the relevant trait for it has generic methods so we can’t use it as a trait object, and its path abstraction is not the most convenient.

Structs§

OpenOptions
Options for opening files
OverlayFS
A structure that joins several VFS’s together in order.
PhysicalFS
A VFS that points to a directory and uses it as the root of its file hierarchy.
PhysicalMetadata
Metadata for a physical file.
ZipFS
A filesystem backed by a zip file.
ZipFileWrapper
A wrapper to contain a zipfile so we can implement (janky) Seek on it and such.

Traits§

VFS
A trait for a virtual file system, such as a zip file or a point in the real file system.
VFile
Our basic trait for files. All different types of filesystem must provide a thing that implements this trait.
VMetadata
The metadata we can read from a file.