pub struct DeltaOfDeltaCompressor { /* private fields */ }Expand description
Delta-of-delta compressor for timestamps
Exploits regularity in sensor sampling intervals. For 1Hz regular sampling, compresses timestamps to <2 bits per sample.
Implementations§
Source§impl DeltaOfDeltaCompressor
impl DeltaOfDeltaCompressor
Sourcepub fn new(first_timestamp: i64) -> Self
pub fn new(first_timestamp: i64) -> Self
Create new compressor with first timestamp
A 32-bit count header is prepended when finish() is called.
Sourcepub fn finish(self) -> Vec<u8> ⓘ
pub fn finish(self) -> Vec<u8> ⓘ
Finish compression and return compressed bytes
Returns: [count (4 bytes BE)] + [compressed bit stream]
Sourcepub fn compression_ratio(&self, original_count: usize) -> f64
pub fn compression_ratio(&self, original_count: usize) -> f64
Get current compression ratio
Auto Trait Implementations§
impl Freeze for DeltaOfDeltaCompressor
impl RefUnwindSafe for DeltaOfDeltaCompressor
impl Send for DeltaOfDeltaCompressor
impl Sync for DeltaOfDeltaCompressor
impl Unpin for DeltaOfDeltaCompressor
impl UnwindSafe for DeltaOfDeltaCompressor
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> 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