pub enum ChecksumValue {
None,
Crc32c(u32),
Crc64(u64),
Md5([u8; 16]),
}Expand description
Inhalt der messageChecksum (variabel nach ChecksumKind).
Variants§
None
Kein Checksum-Feld geschrieben.
Crc32c(u32)
CRC-32C u32.
Crc64(u64)
CRC-64-XZ u64.
Md5([u8; 16])
MD5-128 16-Byte-Hash.
Implementations§
Source§impl ChecksumValue
impl ChecksumValue
Sourcepub fn kind(&self) -> ChecksumKind
pub fn kind(&self) -> ChecksumKind
Zugehoeriger ChecksumKind.
Sourcepub fn compute(kind: ChecksumKind, payload: &[u8]) -> Self
pub fn compute(kind: ChecksumKind, payload: &[u8]) -> Self
Berechnet die messageChecksum ueber payload mit dem
gewuenschten Algorithmus (DDSI-RTPS 2.5 §9.4.2.15.2).
payload ist der Bereich, ueber den die Checksum berechnet
wird. Spec-konform sind das die Submessages nach der
HeaderExtension-Submessage; der Caller stellt das durch
passenden Slice-Cut sicher.
Implementiert via zerodds_foundation::crc32c,
zerodds_foundation::crc64_xz und zerodds_foundation::md5 —
pure-Rust no_std-Hashes ohne externe Crypto-Crate-
Abhaengigkeit (Pillar 9 Zero-Dependency).
Sourcepub fn verify(&self, payload: &[u8]) -> bool
pub fn verify(&self, payload: &[u8]) -> bool
Verifiziert dass die in diesem Wert gehaltene Checksum mit der
ueber payload berechneten uebereinstimmt.
Liefert true wenn der Algorithmus aktiv ist UND der Wert
passt; true auch wenn kind() == None (keine Checksum
deklariert, nichts zu verifizieren); false bei Mismatch.
Spec §9.4.2.15.2: Receiver verwirft die Message bei Mismatch.
Trait Implementations§
Source§impl Clone for ChecksumValue
impl Clone for ChecksumValue
Source§fn clone(&self) -> ChecksumValue
fn clone(&self) -> ChecksumValue
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ChecksumValue
impl Debug for ChecksumValue
Source§impl Default for ChecksumValue
impl Default for ChecksumValue
Source§fn default() -> ChecksumValue
fn default() -> ChecksumValue
Source§impl PartialEq for ChecksumValue
impl PartialEq for ChecksumValue
Source§fn eq(&self, other: &ChecksumValue) -> bool
fn eq(&self, other: &ChecksumValue) -> bool
self and other values to be equal, and is used by ==.