pub enum PayloadKind {
Tool,
Crate,
Wit,
ZephyrModule,
Sdk,
WasmComponent,
Vsix,
Layer,
}Variants§
Tool
An executable dispatched by varve run / shims (the original kind).
Crate
A Rust .crate tarball, consumed via export-cargo.
Wit
A WIT interface package (wit/ + wit/deps/).
ZephyrModule
A Zephyr module directory (zephyr/module.yml).
Sdk
A C/C++ SDK tree (headers + libs + a cmake package).
WasmComponent
A WebAssembly component.
Vsix
A VS Code extension package (.vsix), consumed via export-vsix
(REQ-VSIX-001). A .vsix is a single zip file, so it needs no
tree-shaped store — and it is DATA handed to code, never executed
by varve, so it is not dispatchable and carries no execute bit.
Layer
Another LAYER, composed into this one (REQ-COMPOSE-001). The digest is that layer’s signed manifest; it is not a blob to lay down.
Implementations§
Source§impl PayloadKind
impl PayloadKind
Sourcepub fn is_dispatchable(self) -> bool
pub fn is_dispatchable(self) -> bool
Is a payload of this kind dispatched BY NAME (REQ-STORE-002 clause 1)?
Only a tool is: varve which, varve run and the argv[0] shims all
resolve a bare name, so a name must resolve to exactly one binary and
the identity of a tool is (name, platform). Every other kind is held,
not dispatched — its identity is (name, version, platform), because
several versions of one crate is the ordinary shape of a dependency
graph. A layer is not laid down at all; it answers false because it
is certainly not dispatched by name.
Trait Implementations§
Source§impl Clone for PayloadKind
impl Clone for PayloadKind
Source§fn clone(&self) -> PayloadKind
fn clone(&self) -> PayloadKind
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more