pub struct Information2 {Show 19 fields
pub last_fixup_time: Timedate,
pub database_quota_limit: u32,
pub database_quota_warn_threshold: u32,
pub unknown_time1: Timedate,
pub unknown_time2: Timedate,
pub object_store_replica_identifier: Timedate,
pub superblocks: [SuperblockSlot; 4],
pub maximum_extension_granularity: u32,
pub summary_bucket_granularity: u16,
pub non_summary_bucket_granularity: u16,
pub minimum_summary_bucket_size: u32,
pub minimum_non_summary_bucket_size: u32,
pub maximum_summary_bucket_size: u32,
pub maximum_non_summary_bucket_size: u32,
pub non_summary_append_size: u16,
pub non_summary_append_factor: u16,
pub summary_bucket_fill_factor: u16,
pub non_summary_bucket_fill_factor: u16,
pub bdbs: [BdbSlot; 2],
}Expand description
Parsed nsfdb_database_information2_t.
Fields§
§last_fixup_time: TimedateMost recent fix-up (compact/recovery) timestamp.
database_quota_limit: u32Per-database quota limit. Operator-defined; zero means unlimited.
database_quota_warn_threshold: u32Per-database quota warn threshold.
unknown_time1: TimedateFirst of two undocumented TIMEDATEs in this block.
unknown_time2: TimedateSecond of two undocumented TIMEDATEs in this block.
object_store_replica_identifier: TimedateObject store replica identifier (TIMEDATE-shaped opaque).
superblocks: [SuperblockSlot; 4]Four superblock copies. Pick the freshest via the
crate::superblock helpers.
maximum_extension_granularity: u32Maximum allowed extension granularity for file growth.
summary_bucket_granularity: u16Allocation granularity for summary buckets.
non_summary_bucket_granularity: u16Allocation granularity for non-summary buckets.
minimum_summary_bucket_size: u32Lower bound on summary-bucket size.
minimum_non_summary_bucket_size: u32Lower bound on non-summary-bucket size.
maximum_summary_bucket_size: u32Upper bound on summary-bucket size.
maximum_non_summary_bucket_size: u32Upper bound on non-summary-bucket size.
non_summary_append_size: u16Size in bytes that non-summary appends grow by.
non_summary_append_factor: u16Append factor (growth multiplier for non-summary regions).
summary_bucket_fill_factor: u16Fill factor target for summary buckets.
non_summary_bucket_fill_factor: u16Fill factor target for non-summary buckets.
bdbs: [BdbSlot; 2]Two BDB copies (primary + write-ahead redundancy).
Implementations§
Source§impl Information2
impl Information2
Sourcepub fn parse(bytes: &[u8]) -> Result<Self, NsfError>
pub fn parse(bytes: &[u8]) -> Result<Self, NsfError>
Parse Information2 from the 124 bytes starting at
INFO2_FILE_OFFSET within a full-file buffer. The caller is
responsible for slicing the right window; this method only checks
the slice length.
Sourcepub fn populated_superblock_indices(&self) -> Vec<usize>
pub fn populated_superblock_indices(&self) -> Vec<usize>
Slot indices 0..=3 of populated superblocks (any with non-zero position or size).
Sourcepub fn populated_bdb_indices(&self) -> Vec<usize>
pub fn populated_bdb_indices(&self) -> Vec<usize>
Slot indices 0..=1 of populated BDBs.
Trait Implementations§
Source§impl Clone for Information2
impl Clone for Information2
Source§fn clone(&self) -> Information2
fn clone(&self) -> Information2
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for Information2
Source§impl Debug for Information2
impl Debug for Information2
impl Eq for Information2
Source§impl PartialEq for Information2
impl PartialEq for Information2
Source§fn eq(&self, other: &Information2) -> bool
fn eq(&self, other: &Information2) -> bool
self and other values to be equal, and is used by ==.