pub struct RiffBinary {
pub build: String,
pub replaced: bool,
}Expand description
The riff that a session runs: its build, and whether its file was replaced after the start (01M514C11BPE93PJT4221PYVHS).
use riff_core::build::Build;
use riff_core::wire::RiffBinary;
let server: Build = "1.4.0 122daab96637 2026-10-15T23:08:34Z".parse().unwrap();
let binary = |build: &str, replaced| RiffBinary { build: build.into(), replaced };
let old = binary("1.3.1 aaaaaaaaaaaa 2026-10-14T10:00:00Z", false);
assert!(old.out_of_date(Some(&server)));
// The same version from an older commit is older too.
assert!(binary("1.4.0 bbbbbbbbbbbb 2026-10-15T20:00:00Z", false).out_of_date(Some(&server)));
// The build of the server, or a newer one, is current.
assert!(!binary(&server.to_string(), false).out_of_date(Some(&server)));
assert!(!binary("1.4.1 cccccccccccc 2026-10-16T10:00:00Z", false).out_of_date(Some(&server)));
// A replaced file is out of date with each build.
assert!(binary(&server.to_string(), true).out_of_date(Some(&server)));
assert!(binary(&server.to_string(), true).out_of_date(None));
// With no build of the server, or no build that riff can read,
// only a replaced file counts.
assert!(!old.out_of_date(None));
assert!(!binary("next", false).out_of_date(Some(&server)));Fields§
§build: StringThe build of the riff (crate::build::VERSION).
replaced: boolTrue when the file of the riff was replaced after the start of
the process: Linux names it PATH (deleted).
Implementations§
Source§impl RiffBinary
impl RiffBinary
Sourcepub fn out_of_date(&self, server: Option<&Build>) -> bool
pub fn out_of_date(&self, server: Option<&Build>) -> bool
True when the session must update: its file was replaced, or its
build is older than the build of the server, server
(01M514C142K5BM2746F1D9Y448, 01M514C19H3WQP1FSX9RBVSC69).
Trait Implementations§
Source§impl Clone for RiffBinary
impl Clone for RiffBinary
Source§fn clone(&self) -> RiffBinary
fn clone(&self) -> RiffBinary
Returns a duplicate of the value. Read more
1.0.0 · 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 RiffBinary
impl Debug for RiffBinary
Source§impl<'de> Deserialize<'de> for RiffBinary
impl<'de> Deserialize<'de> for RiffBinary
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl JsonSchema for RiffBinary
impl JsonSchema for RiffBinary
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
Whether JSON Schemas generated for this type should be included directly in parent schemas,
rather than being re-used where possible using the
$ref keyword. Read moreSource§impl PartialEq for RiffBinary
impl PartialEq for RiffBinary
Source§impl Serialize for RiffBinary
impl Serialize for RiffBinary
impl Eq for RiffBinary
impl StructuralPartialEq for RiffBinary
Auto Trait Implementations§
impl Freeze for RiffBinary
impl RefUnwindSafe for RiffBinary
impl Send for RiffBinary
impl Sync for RiffBinary
impl Unpin for RiffBinary
impl UnsafeUnpin for RiffBinary
impl UnwindSafe for RiffBinary
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.