Skip to main content

reddb_server/storage/unified/store/
impl_native_b.rs

1use super::*;
2
3impl UnifiedStore {
4    pub fn read_native_registry_summary(
5        &self,
6        page_id: u32,
7    ) -> Result<NativeRegistrySummary, StoreError> {
8        let content = self.read_native_meta_page(page_id, "native registry summary")?;
9        reddb_file::decode_native_registry_summary_page(&content)
10            .map_err(|err| StoreError::Serialization(err.to_string()))
11    }
12
13    /// Persist a compact native snapshot/export summary into a dedicated page.
14    pub fn write_native_recovery_summary(
15        &self,
16        summary: &NativeRecoverySummary,
17        existing_page: Option<u32>,
18    ) -> Result<(u32, u64), StoreError> {
19        let data = reddb_file::encode_native_recovery_summary_page(summary);
20        self.write_native_meta_page(existing_page, &data)
21    }
22
23    /// Read a compact native snapshot/export summary from a dedicated page.
24    pub fn read_native_recovery_summary(
25        &self,
26        page_id: u32,
27    ) -> Result<NativeRecoverySummary, StoreError> {
28        let content = self.read_native_meta_page(page_id, "native recovery summary")?;
29        reddb_file::decode_native_recovery_summary_page(&content)
30            .map_err(|err| StoreError::Serialization(err.to_string()))
31    }
32
33    /// Persist a compact native catalog summary into a dedicated page.
34    pub fn write_native_catalog_summary(
35        &self,
36        summary: &NativeCatalogSummary,
37        existing_page: Option<u32>,
38    ) -> Result<(u32, u64), StoreError> {
39        let data = reddb_file::encode_native_catalog_summary_page(summary);
40        self.write_native_meta_page(existing_page, &data)
41    }
42
43    /// Read a compact native catalog summary from a dedicated page.
44    pub fn read_native_catalog_summary(
45        &self,
46        page_id: u32,
47    ) -> Result<NativeCatalogSummary, StoreError> {
48        let content = self.read_native_meta_page(page_id, "native catalog summary")?;
49        reddb_file::decode_native_catalog_summary_page(&content)
50            .map_err(|err| StoreError::Serialization(err.to_string()))
51    }
52
53    /// Persist a compact native metadata state summary into a dedicated page.
54    pub fn write_native_metadata_state_summary(
55        &self,
56        summary: &NativeMetadataStateSummary,
57        existing_page: Option<u32>,
58    ) -> Result<(u32, u64), StoreError> {
59        let data = reddb_file::encode_native_metadata_state_summary_page(summary);
60        self.write_native_meta_page(existing_page, &data)
61    }
62
63    /// Read a compact native metadata state summary from a dedicated page.
64    pub fn read_native_metadata_state_summary(
65        &self,
66        page_id: u32,
67    ) -> Result<NativeMetadataStateSummary, StoreError> {
68        let content = self.read_native_meta_page(page_id, "native metadata state summary")?;
69        reddb_file::decode_native_metadata_state_summary_page(&content)
70            .map_err(|err| StoreError::Serialization(err.to_string()))
71    }
72}