pub enum BundleRuntime {
Mesofact {
version: String,
},
SelfContained {
built_against: Option<String>,
},
}Expand description
Which runtime serves a bundle — the runtime = "..." manifest field.
Serialized as a single string: "self" / "self/<built_against>" for a
bundle that ships its own bins/<triple>/serve, or "mesofact/<version>"
for a vanilla bundle that resolves the stock mesofact serve runtime from
the node’s runtime cache.
Variants§
Mesofact
Vanilla: resolve the stock mesofact serve runtime asset of this
version from the node cache. No binaries in the bundle.
SelfContained
Custom: the bundle carries bins/<triple>/serve and is served by its
own binary. No node runtime asset is resolved.
Fields
built_against: Option<String>R746-F5: the reuse contract. A content fingerprint
(yah_qed::build_context::source_context_fingerprint) of the
source tree every bins/<triple>/serve in this bundle was
compiled from — None when the assembly didn’t (or couldn’t)
record one, or when the triples in this bundle came from more than
one fingerprint.
A later assembly may reuse a previous bundle’s serve binary by digest (skipping the build) only when its own fingerprint equals the one recorded here — exact match, not a semver range (R746-F6 supersedes this with a versioned compatibility expression; until that lands, a bundle with no recorded fingerprint can still be materialized and served, it just cannot be a reuse SOURCE).
Implementations§
Source§impl BundleRuntime
impl BundleRuntime
Sourcepub fn as_wire(&self) -> String
pub fn as_wire(&self) -> String
The wire string form ("self", "self/<built_against>", or
"mesofact/<version>").
Sourcepub fn parse(s: &str) -> Result<Self, BundleError>
pub fn parse(s: &str) -> Result<Self, BundleError>
Parse the wire string form.
Sourcepub fn is_self_contained(&self) -> bool
pub fn is_self_contained(&self) -> bool
Whether the bundle ships its own serve binaries (runtime = "self" /
"self/<built_against>").
Sourcepub fn self_contained() -> Self
pub fn self_contained() -> Self
A self-contained runtime with no recorded contract — the shape every
call site used before R746-F5, and still the right one for a one-shot
local assembly (yah cloud bundle build) that isn’t going through the
fingerprint-tracked sync path.
Trait Implementations§
Source§impl Clone for BundleRuntime
impl Clone for BundleRuntime
Source§impl Debug for BundleRuntime
impl Debug for BundleRuntime
Source§impl<'de> Deserialize<'de> for BundleRuntime
impl<'de> Deserialize<'de> for BundleRuntime
Source§fn deserialize<D: Deserializer<'de>>(de: D) -> Result<Self, D::Error>
fn deserialize<D: Deserializer<'de>>(de: D) -> Result<Self, D::Error>
impl Eq for BundleRuntime
Source§impl PartialEq for BundleRuntime
impl PartialEq for BundleRuntime
Source§impl Serialize for BundleRuntime
impl Serialize for BundleRuntime
impl StructuralPartialEq for BundleRuntime
Auto Trait Implementations§
impl Freeze for BundleRuntime
impl RefUnwindSafe for BundleRuntime
impl Send for BundleRuntime
impl Sync for BundleRuntime
impl Unpin for BundleRuntime
impl UnsafeUnpin for BundleRuntime
impl UnwindSafe for BundleRuntime
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.