pub struct ComponentData {
pub type_id: u16,
pub data: Vec<u8>,
pub version: u32,
}Expand description
Individual component data stored as a type-tagged byte buffer. Components are identified by a numeric type ID for serialization.
Fields§
§type_id: u16§data: Vec<u8>§version: u32Implementations§
Source§impl ComponentData
impl ComponentData
pub fn new(type_id: u16, data: Vec<u8>) -> Self
pub fn with_version(type_id: u16, data: Vec<u8>, version: u32) -> Self
pub fn size(&self) -> usize
Sourcepub fn content_hash(&self) -> u64
pub fn content_hash(&self) -> u64
Compute a simple FNV-1a hash of the data for change detection.
Sourcepub fn delta_against(&self, baseline: &ComponentData) -> Option<ComponentDelta>
pub fn delta_against(&self, baseline: &ComponentData) -> Option<ComponentDelta>
Produce a delta between this component and another of the same type. Returns None if data is identical.
Sourcepub fn apply_delta(&self, delta: &ComponentDelta) -> ComponentData
pub fn apply_delta(&self, delta: &ComponentDelta) -> ComponentData
Apply a delta to produce a new ComponentData.
Trait Implementations§
Source§impl Clone for ComponentData
impl Clone for ComponentData
Source§fn clone(&self) -> ComponentData
fn clone(&self) -> ComponentData
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 moreAuto Trait Implementations§
impl Freeze for ComponentData
impl RefUnwindSafe for ComponentData
impl Send for ComponentData
impl Sync for ComponentData
impl Unpin for ComponentData
impl UnsafeUnpin for ComponentData
impl UnwindSafe for ComponentData
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