pub struct RuleSetVersion {
pub major: u32,
pub minor: u32,
pub patch: u32,
pub fingerprint: u64,
pub created_at: u64,
pub author_peer_id: String,
}Expand description
Versioning metadata for a rule set.
The fingerprint is an FNV-1a hash of the sorted rule bodies, providing
a fast, deterministic content identity check independent of ordering.
Fields§
§major: u32§minor: u32§patch: u32§fingerprint: u64FNV-1a hash over all sorted rule bodies.
created_at: u64Unix timestamp in milliseconds when this version was created.
Peer ID of the node that authored this version.
Implementations§
Source§impl RuleSetVersion
impl RuleSetVersion
Sourcepub fn new(
major: u32,
minor: u32,
patch: u32,
rules: &[String],
author: &str,
) -> Self
pub fn new( major: u32, minor: u32, patch: u32, rules: &[String], author: &str, ) -> Self
Create a new RuleSetVersion.
created_at is set to the current wall-clock time.
fingerprint is computed from rules (sorted for determinism).
Sourcepub fn is_compatible_with(&self, other: &Self) -> bool
pub fn is_compatible_with(&self, other: &Self) -> bool
Returns true when self and other share the same major version number,
indicating that they are expected to be compatible.
Trait Implementations§
Source§impl Clone for RuleSetVersion
impl Clone for RuleSetVersion
Source§fn clone(&self) -> RuleSetVersion
fn clone(&self) -> RuleSetVersion
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RuleSetVersion
impl Debug for RuleSetVersion
Source§impl Display for RuleSetVersion
impl Display for RuleSetVersion
impl Eq for RuleSetVersion
Source§impl PartialEq for RuleSetVersion
impl PartialEq for RuleSetVersion
Source§fn eq(&self, other: &RuleSetVersion) -> bool
fn eq(&self, other: &RuleSetVersion) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for RuleSetVersion
Auto Trait Implementations§
impl Freeze for RuleSetVersion
impl RefUnwindSafe for RuleSetVersion
impl Send for RuleSetVersion
impl Sync for RuleSetVersion
impl Unpin for RuleSetVersion
impl UnsafeUnpin for RuleSetVersion
impl UnwindSafe for RuleSetVersion
Blanket Implementations§
impl<T> Allocation for T
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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>
Converts
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>
Converts
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