[][src]Module gvfs::vfs

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.