Struct DistributedLayoutEnvelopeV1
pub struct DistributedLayoutEnvelopeV1 { /* private fields */ }Description
Durable exact projection of sparsity-derived local layouts and halo plan.
Implementations§
§impl DistributedLayoutEnvelopeV1
impl DistributedLayoutEnvelopeV1
pub fn derive(
system: &LinearSystemEnvelopeV1,
partition: &PartitionEnvelopeV1,
) -> Result<DistributedLayoutEnvelopeV1, Diagnostic>
pub fn derive( system: &LinearSystemEnvelopeV1, partition: &PartitionEnvelopeV1, ) -> Result<DistributedLayoutEnvelopeV1, Diagnostic>
Freshly derive every local and halo record from the linked complete system and unique-owner partition.
§Errors
Returns EQ0901 if either input is invalid, dimensions disagree, a
portable count is unavailable, or default decoder limits are exceeded.
pub fn from_json(
bytes: &[u8],
limits: DistributedDecoderLimits,
) -> Result<DistributedLayoutEnvelopeV1, Diagnostic>
pub fn from_json( bytes: &[u8], limits: DistributedDecoderLimits, ) -> Result<DistributedLayoutEnvelopeV1, Diagnostic>
Decode and structurally validate a bounded derived-layout DTO.
Linked system and partition content is deliberately supplied later to
Self::validate_against; decoding alone never claims derivation.
§Errors
Returns EQ0901 for malformed, unknown, noncanonical, nonportable, or
oversized wire data.
pub fn canonical_json(&self) -> Result<Vec<u8>, Diagnostic>
pub fn canonical_json(&self) -> Result<Vec<u8>, Diagnostic>
Deterministic fixed-field-order canonical JSON bytes.
§Errors
Returns EQ0901 if serialization unexpectedly fails.
pub fn digest(&self) -> Result<ArtifactDigest, Diagnostic>
pub fn digest(&self) -> Result<ArtifactDigest, Diagnostic>
Domain-separated SHA-256 identity of the complete canonical DTO.
§Errors
Returns EQ0901 if canonical serialization unexpectedly fails.
pub fn validate_against(
&self,
system: &LinearSystemEnvelopeV1,
partition: &PartitionEnvelopeV1,
) -> Result<DistributedLinearSystem, Diagnostic>
pub fn validate_against( &self, system: &LinearSystemEnvelopeV1, partition: &PartitionEnvelopeV1, ) -> Result<DistributedLinearSystem, Diagnostic>
Recompute the linked distributed system and require exact digest, scalar, dimension, property, local-layout, and halo equality.
§Errors
Returns EQ0901 for a cross-wire or any forged/stale derived record.
pub fn linear_system_digest(&self) -> Result<ArtifactDigest, Diagnostic>
pub fn linear_system_digest(&self) -> Result<ArtifactDigest, Diagnostic>
Linked complete-system artifact digest.
§Errors
Returns EQ0901 only if validated internal state was corrupted.
pub fn partition_digest(&self) -> Result<ArtifactDigest, Diagnostic>
pub fn partition_digest(&self) -> Result<ArtifactDigest, Diagnostic>
Linked unique-owner partition artifact digest.
§Errors
Returns EQ0901 only if validated internal state was corrupted.
Trait Implementations§
§impl Clone for DistributedLayoutEnvelopeV1
impl Clone for DistributedLayoutEnvelopeV1
§impl Debug for DistributedLayoutEnvelopeV1
impl Debug for DistributedLayoutEnvelopeV1
§impl PartialEq for DistributedLayoutEnvelopeV1
impl PartialEq for DistributedLayoutEnvelopeV1
§fn eq(&self, other: &DistributedLayoutEnvelopeV1) -> bool
fn eq(&self, other: &DistributedLayoutEnvelopeV1) -> bool
self and other values to be equal, and is used by ==.impl Eq for DistributedLayoutEnvelopeV1
impl StructuralPartialEq for DistributedLayoutEnvelopeV1
Auto Trait Implementations§
impl Freeze for DistributedLayoutEnvelopeV1
impl RefUnwindSafe for DistributedLayoutEnvelopeV1
impl Send for DistributedLayoutEnvelopeV1
impl Sync for DistributedLayoutEnvelopeV1
impl Unpin for DistributedLayoutEnvelopeV1
impl UnsafeUnpin for DistributedLayoutEnvelopeV1
impl UnwindSafe for DistributedLayoutEnvelopeV1
Blanket Implementations§
Source§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
§fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
§impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
§type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
§fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
Source§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
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, Dst> ConvAsUtil<Dst> for T
impl<T, Dst> ConvAsUtil<Dst> for T
§fn approx(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
fn approx(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
§impl<T> ConvUtil for T
impl<T> ConvUtil for T
§fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
§fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
§fn into_as<Dst>(self) -> Dstwhere
Self: Sized + Into<Dst>,
fn into_as<Dst>(self) -> Dstwhere
Self: Sized + Into<Dst>,
§fn try_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + TryInto<Dst>,
fn try_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + TryInto<Dst>,
§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
fn rand<T>(&self, rng: &mut (impl Rng + ?Sized)) -> Twhere
Self: Distribution<T>,
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Source§impl<T> From<T> for T
impl<T> From<T> for T
Source§impl<T, U> Into<U> for Twhere
U: From<T>,
impl<T, U> Into<U> for Twhere
U: From<T>,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>where
F: FnOnce(&Self) -> bool,
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>where
F: FnOnce(&Self) -> bool,
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> Same for T
impl<T> Same for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.