pub fn should_update_ext(&self, interval_time_ms: u64, skip_first: bool) -> bool {
        let now = timestamp();
        let last = self.last_update.load(Ordering::Relaxed);
        now.saturating_sub(last) > interval_time_ms
            && self
                .last_update
                .compare_exchange(last, now, Ordering::Relaxed, Ordering::Relaxed)
                == Ok(last)
            && !(skip_first && last == 0)
    }
/// a primary use case is periodic metric reporting, potentially from different threads
/// true if 'interval_time_ms' has elapsed since last time we returned true
/// except, if skip_first=false, false until 'interval_time_ms' has elapsed since this struct was created
a primary use case is periodic metric reporting, potentially from different threads
true if 'interval_time_ms' has elapsed since last time we returned true
except, if skip_first=false, false until 'interval_time_ms' has elapsed since this struct was created
a primary use case is periodic metric reporting potentially from different threads true if ' interval_time_ms ' has elapsed since last time we returned true except if skip_first = false false until ' interval_time_ms ' has elapsed since this struct was created
pub fn should_update_ext(&self, interval_time_ms: u64, skip_first: bool) -> bool {
        let now = timestamp();
        let last = self.last_update.load(Ordering::Relaxed);
        now.saturating_sub(last) > interval_time_ms
            && self
                .last_update
                .compare_exchange(last, now, Ordering::Relaxed, Ordering::Relaxed)
                == Ok(last)
            && !(skip_first && last == 0)
    }
pub fn should_update_ext ( & self , interval_time_ms : u64 , skip_first : bool ) -> bool { let now = timestamp ( ) ; let last = self . last_update . load ( Ordering :: Relaxed ) ; now . saturating_sub ( last ) > interval_time_ms && self . last_update . compare_exchange ( last , now , Ordering :: Relaxed , Ordering :: Relaxed ) == Ok ( last ) && ! ( skip_first && last == 0 ) }
a primary use case is periodic metric reporting, potentially from different threads
true if 'interval_time_ms' has elapsed since last time we returned true
except, if skip_first=false, false until 'interval_time_ms' has elapsed since this struct was created
a primary use case is periodic metric reporting potentially from different threads true if ' interval_time_ms ' has elapsed since last time we returned true except if skip_first = false false until ' interval_time_ms ' has elapsed since this struct was created
&self
interval_time_ms
u64
skip_first
bool