pub enum DeterminismGuarantee {
DeterministicCollections,
StableSorting,
FixedTimestamps,
UnicodeNormalization,
StableHashing,
CanonicalOrdering,
LockedNamespacePrefixes,
CanonicalXmlOutput,
ThreadSafety,
PlatformIndependence,
MemoryIndependence,
}Expand description
Core determinism guarantees provided by DDEX Builder
Variants§
DeterministicCollections
Always use IndexMap instead of HashMap for deterministic iteration order
StableSorting
Sort all collections consistently using stable algorithms
FixedTimestamps
Use fixed timestamps or make them configurable inputs
UnicodeNormalization
Normalize all strings using Unicode NFC normalization
StableHashing
Use stable hash algorithm (SHA-256) for content hashing
CanonicalOrdering
Element ordering follows canonical XSD order
LockedNamespacePrefixes
Namespace prefixes are locked and consistent
CanonicalXmlOutput
Output format is DB-C14N/1.0 canonicalized
ThreadSafety
Thread-safe with identical output across parallel builds
PlatformIndependence
Platform-independent output (OS, architecture, locale)
MemoryIndependence
Memory usage patterns don’t affect output
Implementations§
Source§impl DeterminismGuarantee
impl DeterminismGuarantee
Sourcepub fn description(&self) -> &'static str
pub fn description(&self) -> &'static str
Get human-readable description of the guarantee
Sourcepub fn validator(&self) -> GuaranteeValidator
pub fn validator(&self) -> GuaranteeValidator
Get the validation method for this guarantee
Sourcepub fn priority(&self) -> GuaranteePriority
pub fn priority(&self) -> GuaranteePriority
Get the priority level of this guarantee
Trait Implementations§
Source§impl Clone for DeterminismGuarantee
impl Clone for DeterminismGuarantee
Source§fn clone(&self) -> DeterminismGuarantee
fn clone(&self) -> DeterminismGuarantee
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for DeterminismGuarantee
impl Debug for DeterminismGuarantee
Source§impl<'de> Deserialize<'de> for DeterminismGuarantee
impl<'de> Deserialize<'de> for DeterminismGuarantee
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for DeterminismGuarantee
impl PartialEq for DeterminismGuarantee
Source§impl Serialize for DeterminismGuarantee
impl Serialize for DeterminismGuarantee
impl Eq for DeterminismGuarantee
impl StructuralPartialEq for DeterminismGuarantee
Auto Trait Implementations§
impl Freeze for DeterminismGuarantee
impl RefUnwindSafe for DeterminismGuarantee
impl Send for DeterminismGuarantee
impl Sync for DeterminismGuarantee
impl Unpin for DeterminismGuarantee
impl UnwindSafe for DeterminismGuarantee
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,
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.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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