pub struct SstableInfo {Show 17 fields
pub object_id: HummockSstableObjectId,
pub sst_id: HummockSstableId,
pub key_range: Option<KeyRange>,
pub file_size: u64,
pub table_ids: Vec<TableId>,
pub meta_offset: u64,
pub stale_key_count: u64,
pub total_key_count: u64,
pub min_epoch: u64,
pub max_epoch: u64,
pub uncompressed_file_size: u64,
pub range_tombstone_count: u64,
pub bloom_filter_kind: i32,
pub sst_size: u64,
pub vnode_statistics: Option<VnodeStatistics>,
pub filter_type: Option<i32>,
pub filter_layout: Option<i32>,
}Fields§
§object_id: HummockSstableObjectId§sst_id: HummockSstableId§key_range: Option<KeyRange>§file_size: u64represents the physical object size, which is usually used in the builder.
table_ids: Vec<TableId>§meta_offset: u64§stale_key_count: u64§total_key_count: u64§min_epoch: u64§max_epoch: u64§uncompressed_file_size: u64§range_tombstone_count: u64§bloom_filter_kind: i32Legacy SST filter metadata for SSTs written before filter_type and filter_layout existed.
New writers must leave this field as BLOOM_FILTER_UNSPECIFIED and set filter_type instead.
sst_size: u64In order to calculate more finely in the compaction strategy, we need to re-calculate the sst_size after split sst
sst_size represents the size of the sst instead of the object size(usually used in the meta).
vnode_statistics: Option<VnodeStatistics>Optional per-vnode statistics for query pruning when the SST spans only a small set of vnodes. Only emitted when SST contains multiple vnodes to avoid redundancy with key_range.
filter_type: Option<i32>Canonical SST filter type for newly written SSTs. If this field is present,
bloom_filter_kind must be BLOOM_FILTER_UNSPECIFIED.
filter_layout: Option<i32>Canonical SST filter physical layout for newly written SSTs. This is set only when
filter_type is not SSTABLE_FILTER_NONE.
Implementations§
Source§impl SstableInfo
impl SstableInfo
Sourcepub fn bloom_filter_kind(&self) -> BloomFilterType
pub fn bloom_filter_kind(&self) -> BloomFilterType
Returns the enum value of bloom_filter_kind, or the default if the field is set to an invalid enum value.
Sourcepub fn set_bloom_filter_kind(&mut self, value: BloomFilterType)
pub fn set_bloom_filter_kind(&mut self, value: BloomFilterType)
Sets bloom_filter_kind to the provided enum value.
Sourcepub fn filter_type(&self) -> SstableFilterType
pub fn filter_type(&self) -> SstableFilterType
Returns the enum value of filter_type, or the default if the field is unset or set to an invalid enum value.
Sourcepub fn set_filter_type(&mut self, value: SstableFilterType)
pub fn set_filter_type(&mut self, value: SstableFilterType)
Sets filter_type to the provided enum value.
Sourcepub fn filter_layout(&self) -> SstableFilterLayout
pub fn filter_layout(&self) -> SstableFilterLayout
Returns the enum value of filter_layout, or the default if the field is unset or set to an invalid enum value.
Sourcepub fn set_filter_layout(&mut self, value: SstableFilterLayout)
pub fn set_filter_layout(&mut self, value: SstableFilterLayout)
Sets filter_layout to the provided enum value.
Source§impl SstableInfo
impl SstableInfo
pub fn get_object_id(&self) -> HummockSstableObjectId
pub fn get_sst_id(&self) -> HummockSstableId
pub fn get_key_range(&self) -> Result<&KeyRange, PbFieldNotFound>
pub fn get_file_size(&self) -> u64
pub fn get_table_ids(&self) -> &Vec<TableId> ⓘ
pub fn get_meta_offset(&self) -> u64
pub fn get_stale_key_count(&self) -> u64
pub fn get_total_key_count(&self) -> u64
pub fn get_min_epoch(&self) -> u64
pub fn get_max_epoch(&self) -> u64
pub fn get_uncompressed_file_size(&self) -> u64
pub fn get_range_tombstone_count(&self) -> u64
pub fn get_bloom_filter_kind(&self) -> Result<BloomFilterType, PbFieldNotFound>
pub fn get_sst_size(&self) -> u64
pub fn get_vnode_statistics(&self) -> Result<&VnodeStatistics, PbFieldNotFound>
pub fn get_filter_type(&self) -> Result<&i32, PbFieldNotFound>
pub fn get_filter_layout(&self) -> Result<&i32, PbFieldNotFound>
Trait Implementations§
Source§impl Clone for SstableInfo
impl Clone for SstableInfo
Source§fn clone(&self) -> SstableInfo
fn clone(&self) -> SstableInfo
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SstableInfo
impl Debug for SstableInfo
Source§impl Default for SstableInfo
impl Default for SstableInfo
Source§impl<'de> Deserialize<'de> for SstableInfo
impl<'de> Deserialize<'de> for SstableInfo
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Source§impl Message for SstableInfo
impl Message for SstableInfo
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.Source§impl PartialEq for SstableInfo
impl PartialEq for SstableInfo
Source§impl Serialize for SstableInfo
impl Serialize for SstableInfo
impl StructuralPartialEq for SstableInfo
Auto Trait Implementations§
impl Freeze for SstableInfo
impl RefUnwindSafe for SstableInfo
impl Send for SstableInfo
impl Sync for SstableInfo
impl Unpin for SstableInfo
impl UnwindSafe for SstableInfo
Blanket Implementations§
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
fn as_<T>(self) -> Twhere
T: CastFrom<U>,
self to type T. The semantics of numeric casting with the as operator are followed, so <T as As>::as_::<U> can be used in the same way as T as U for numeric conversions. Read moreSource§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,
§impl<T> Downcast for Twhere
T: AsAny + ?Sized,
impl<T> Downcast for Twhere
T: AsAny + ?Sized,
§fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
Any.§fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
Any.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].