pub struct BloomChainMeta {
pub base: KeyMeta,
pub n_filters: u16,
pub expansion: u16,
pub base_capacity: u32,
pub error_rate: f64,
pub bloom_bytes: u32,
}Expand description
Bloom filter chain metadata (aligned with Apache Kvrocks BloomChainMetadata 46-byte format). 布隆过滤器链元数据(对标 Apache Kvrocks BloomChainMetadata 46字节)
Fields§
§base: KeyMeta§n_filters: u16§expansion: u16§base_capacity: u32§error_rate: f64§bloom_bytes: u32Implementations§
Source§impl BloomChainMeta
impl BloomChainMeta
pub const ENCODED_SIZE: usize
pub fn new( base_capacity: u32, error_rate: f64, expansion: u16, version: u64, expire_at: u64, bloom_bytes: u32, ) -> Self
pub const fn is_scaling(&self) -> bool
pub fn is_expired(&self, now_ms: u64) -> bool
pub fn get_capacity(&self) -> u32
pub fn sub_filter_capacity(&self, filter_index: u16) -> u32
pub fn encode(&self) -> [u8; 46]
pub fn decode(bytes: &[u8]) -> Option<Self>
Trait Implementations§
Source§impl Clone for BloomChainMeta
impl Clone for BloomChainMeta
Source§fn clone(&self) -> BloomChainMeta
fn clone(&self) -> BloomChainMeta
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for BloomChainMeta
Source§impl Debug for BloomChainMeta
impl Debug for BloomChainMeta
impl<'__de> Decode<'__de> for BloomChainMetawhere
'__de:,
impl Encode for BloomChainMeta
Source§impl MetaOps for BloomChainMeta
impl MetaOps for BloomChainMeta
Source§const TAG: &[u8]
const TAG: &[u8]
Metadata key tag slice (e.g.
b"sm", b"hm").
meta key 标签(如 b"sm", b"hm"),用于 check_key_not_other_typetype EncodedBytes = [u8; 46]
fn decode(bytes: &[u8]) -> Option<Self>
fn is_expired(&self, now_ms: u64) -> bool
Source§fn encode_bytes(&self) -> Self::EncodedBytes
fn encode_bytes(&self) -> Self::EncodedBytes
Encoded bytes slice for storage write operations without heap allocation.
编码后的字节,用于写入存储(零堆分配)
Source§impl PartialEq for BloomChainMeta
impl PartialEq for BloomChainMeta
impl StructuralPartialEq for BloomChainMeta
Auto Trait Implementations§
impl Freeze for BloomChainMeta
impl RefUnwindSafe for BloomChainMeta
impl Send for BloomChainMeta
impl Sync for BloomChainMeta
impl Unpin for BloomChainMeta
impl UnsafeUnpin for BloomChainMeta
impl UnwindSafe for BloomChainMeta
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