pub struct DefinitionHash(/* private fields */);Expand description
SHA-256 fingerprint of a workflow’s structural definition.
Computed from the workflow’s continuation tree (task IDs, retry policies, fork shapes, delays, signals, loops, child workflows). Used by the runtime to detect when a serialised snapshot was written against a different workflow definition than the one currently in memory.
Compares in a single 32-byte memcmp instead of a 64-character string
equality, and hashes to one u64 instead of per-character siphash.
Implementations§
Source§impl DefinitionHash
impl DefinitionHash
Sourcepub const fn from_hash(hash: Hash32) -> Self
pub const fn from_hash(hash: Hash32) -> Self
Construct a DefinitionHash from a Hash32.
Sourcepub const fn from_bytes(bytes: [u8; 32]) -> Self
pub const fn from_bytes(bytes: [u8; 32]) -> Self
Construct a DefinitionHash from raw 32 bytes.
Sourcepub fn from_slice(bytes: &[u8]) -> Result<Self, Hash32ParseError>
pub fn from_slice(bytes: &[u8]) -> Result<Self, Hash32ParseError>
Construct a DefinitionHash from a length-checked byte slice. See Hash32::from_slice.
§Errors
Returns Hash32ParseError::WrongLength if bytes.len() != 32.
Sourcepub fn sha256(input: impl AsRef<[u8]>) -> Self
pub fn sha256(input: impl AsRef<[u8]>) -> Self
SHA-256-hash the given input and wrap the result.
This is the canonical way to mint a fresh id from a human-readable name at construction time.
Sourcepub fn from_hex(s: &str) -> Result<Self, Hash32ParseError>
pub fn from_hex(s: &str) -> Result<Self, Hash32ParseError>
Trait Implementations§
Source§impl Clone for DefinitionHash
impl Clone for DefinitionHash
Source§fn clone(&self) -> DefinitionHash
fn clone(&self) -> DefinitionHash
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for DefinitionHash
Source§impl Debug for DefinitionHash
impl Debug for DefinitionHash
Source§impl Default for DefinitionHash
impl Default for DefinitionHash
Source§fn default() -> DefinitionHash
fn default() -> DefinitionHash
Source§impl<'de> Deserialize<'de> for DefinitionHash
impl<'de> Deserialize<'de> for DefinitionHash
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 Display for DefinitionHash
impl Display for DefinitionHash
impl Eq for DefinitionHash
Source§impl From<&String> for DefinitionHash
impl From<&String> for DefinitionHash
Source§impl From<&str> for DefinitionHash
impl From<&str> for DefinitionHash
Source§impl From<DefinitionHash> for Hash32
impl From<DefinitionHash> for Hash32
Source§fn from(h: DefinitionHash) -> Self
fn from(h: DefinitionHash) -> Self
Source§impl From<Hash32> for DefinitionHash
impl From<Hash32> for DefinitionHash
Source§impl From<String> for DefinitionHash
impl From<String> for DefinitionHash
Source§impl FromStr for DefinitionHash
impl FromStr for DefinitionHash
Source§impl Hash for DefinitionHash
impl Hash for DefinitionHash
Source§impl Ord for DefinitionHash
impl Ord for DefinitionHash
Source§fn cmp(&self, other: &DefinitionHash) -> Ordering
fn cmp(&self, other: &DefinitionHash) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for DefinitionHash
impl PartialEq for DefinitionHash
Source§fn eq(&self, other: &DefinitionHash) -> bool
fn eq(&self, other: &DefinitionHash) -> bool
self and other values to be equal, and is used by ==.