#[non_exhaustive]pub enum Layer {
Os {
path: PathBuf,
},
Range {
start: u64,
len: u64,
},
Container {
format: ContainerFormat,
},
Volume {
scheme: VolumeScheme,
index: usize,
guid: Option<Guid>,
},
Encryption {
scheme: EncryptionScheme,
},
Snapshot {
store: SnapshotRef,
},
Fs {
kind: FsKind,
at: NodeAddr,
},
Stream {
id: StreamId,
},
Archive {
member: Option<usize>,
},
}Expand description
One layer in the locator chain.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Os
The base OS path — the only parentless layer.
Range
A byte window of the parent.
Container
Decode a container (Auto = sniffed).
Fields
§
format: ContainerFormatVolume
A volume within a volume system.
Encryption
A full-disk-encryption translation (credentials supplied out-of-band).
Fields
§
scheme: EncryptionSchemeSnapshot
A snapshot/shadow store.
Fields
§
store: SnapshotRefFs
A mounted filesystem, addressing one node.
Stream
A named data stream (ADS / resource fork) of the addressed node.
Archive
A peeled archive/compression wrapper. member: None is a 1→1 stream peel
(a bare gzip/bzip2 wrapper re-entering resolution like a container decode);
member: Some(i) is the i-th member of a multi-member archive (tar/zip/7z).
Trait Implementations§
impl Eq for Layer
impl StructuralPartialEq for Layer
Auto Trait Implementations§
impl Freeze for Layer
impl RefUnwindSafe for Layer
impl Send for Layer
impl Sync for Layer
impl Unpin for Layer
impl UnsafeUnpin for Layer
impl UnwindSafe for Layer
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more