pub enum Fingerprint {
Rabin(u64),
Id(u32),
Id64(u64),
MD5([u8; 16]),
SHA256([u8; 32]),
}Expand description
A schema fingerprint in one of the supported formats.
This is used as the key inside SchemaStore HashMap. Each SchemaStore
instance always stores only one variant, matching its configured
FingerprintAlgorithm, but the enum makes the API uniform.
https://avro.apache.org/docs/1.11.1/specification/#schema-fingerprints https://docs.confluent.io/platform/current/schema-registry/fundamentals/serdes-develop/index.html#wire-format
Variants§
Rabin(u64)
A 64-bit Rabin fingerprint.
Id(u32)
A 32-bit Schema Registry ID.
Id64(u64)
A 64-bit Schema Registry ID.
MD5([u8; 16])
md5 only.A 128-bit MD5 fingerprint.
SHA256([u8; 32])
sha256 only.A 256-bit SHA-256 fingerprint.
Implementations§
Source§impl Fingerprint
impl Fingerprint
Sourcepub fn load_fingerprint_id(id: u32) -> Self
pub fn load_fingerprint_id(id: u32) -> Self
Loads the 32-bit Schema Registry fingerprint (Confluent Schema Registry ID).
The provided id is in big-endian wire order; this converts it to host order
and returns Fingerprint::Id.
§Returns
A Fingerprint::Id variant containing the 32-bit fingerprint.
Sourcepub fn load_fingerprint_id64(id: u64) -> Self
pub fn load_fingerprint_id64(id: u64) -> Self
Loads the 64-bit Schema Registry fingerprint (Apicurio Schema Registry ID).
The provided id is in big-endian wire order; this converts it to host order
and returns Fingerprint::Id64.
§Returns
A Fingerprint::Id64 variant containing the 64-bit fingerprint.
Trait Implementations§
Source§impl Clone for Fingerprint
impl Clone for Fingerprint
Source§fn clone(&self) -> Fingerprint
fn clone(&self) -> Fingerprint
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for Fingerprint
impl Debug for Fingerprint
Source§impl From<&Fingerprint> for FingerprintAlgorithm
Allow easy extraction of the algorithm used to create a fingerprint.
impl From<&Fingerprint> for FingerprintAlgorithm
Allow easy extraction of the algorithm used to create a fingerprint.
Source§fn from(fp: &Fingerprint) -> Self
fn from(fp: &Fingerprint) -> Self
Source§impl From<&Fingerprint> for FingerprintStrategy
impl From<&Fingerprint> for FingerprintStrategy
Source§fn from(f: &Fingerprint) -> Self
fn from(f: &Fingerprint) -> Self
Source§impl From<&FingerprintStrategy> for Fingerprint
impl From<&FingerprintStrategy> for Fingerprint
Source§fn from(s: &FingerprintStrategy) -> Self
fn from(s: &FingerprintStrategy) -> Self
Source§impl From<Fingerprint> for FingerprintStrategy
impl From<Fingerprint> for FingerprintStrategy
Source§fn from(f: Fingerprint) -> Self
fn from(f: Fingerprint) -> Self
Source§impl From<FingerprintAlgorithm> for Fingerprint
impl From<FingerprintAlgorithm> for Fingerprint
Source§fn from(s: FingerprintAlgorithm) -> Self
fn from(s: FingerprintAlgorithm) -> Self
Source§impl From<FingerprintStrategy> for Fingerprint
impl From<FingerprintStrategy> for Fingerprint
Source§fn from(s: FingerprintStrategy) -> Self
fn from(s: FingerprintStrategy) -> Self
Source§impl Hash for Fingerprint
impl Hash for Fingerprint
Source§impl PartialEq for Fingerprint
impl PartialEq for Fingerprint
impl Copy for Fingerprint
impl Eq for Fingerprint
impl StructuralPartialEq for Fingerprint
Auto Trait Implementations§
impl Freeze for Fingerprint
impl RefUnwindSafe for Fingerprint
impl Send for Fingerprint
impl Sync for Fingerprint
impl Unpin for Fingerprint
impl UnwindSafe for Fingerprint
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.