pub struct IncrementalUpdate {
pub entity_id: String,
pub version: u64,
pub full_data: Option<Bytes>,
pub deltas: HashMap<u64, UpdateDelta>,
}Expand description
Incremental update
Fields§
§entity_id: StringEntity ID
version: u64Current version
full_data: Option<Bytes>Full data
deltas: HashMap<u64, UpdateDelta>Available deltas (indexed by target version)
Implementations§
Source§impl IncrementalUpdate
impl IncrementalUpdate
Sourcepub fn new(entity_id: String, version: u64, full_data: Option<Bytes>) -> Self
pub fn new(entity_id: String, version: u64, full_data: Option<Bytes>) -> Self
Create a new incremental update
Sourcepub fn add_delta(&mut self, delta: UpdateDelta)
pub fn add_delta(&mut self, delta: UpdateDelta)
Add a delta
Sourcepub fn get_delta(&self, target_version: u64) -> Option<&UpdateDelta>
pub fn get_delta(&self, target_version: u64) -> Option<&UpdateDelta>
Get delta to specific version
Sourcepub fn get_delta_chain(
&self,
from_version: u64,
to_version: u64,
) -> Option<Vec<&UpdateDelta>>
pub fn get_delta_chain( &self, from_version: u64, to_version: u64, ) -> Option<Vec<&UpdateDelta>>
Get delta chain from base to target version
Sourcepub fn has_full_data(&self) -> bool
pub fn has_full_data(&self) -> bool
Check if full data is available
Sourcepub fn full_data_size(&self) -> usize
pub fn full_data_size(&self) -> usize
Get full data size
Sourcepub fn total_delta_size(&self) -> usize
pub fn total_delta_size(&self) -> usize
Get total delta size
Auto Trait Implementations§
impl !Freeze for IncrementalUpdate
impl RefUnwindSafe for IncrementalUpdate
impl Send for IncrementalUpdate
impl Sync for IncrementalUpdate
impl Unpin for IncrementalUpdate
impl UnsafeUnpin for IncrementalUpdate
impl UnwindSafe for IncrementalUpdate
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