sq3_rs/file_header/
suggested_cache_size.rs1use std::ops::Deref;
2
3use sq3_derive::Name;
4use sq3_parser::TypeName;
5
6use crate::{result::SqliteResult, traits::ParseBytes};
7
8#[derive(Debug, Default, Name)]
16pub struct SuggestedCacheSize(u32);
17impl Deref for SuggestedCacheSize {
18 type Target = u32;
19
20 fn deref(&self) -> &Self::Target {
21 &self.0
22 }
23}
24
25impl ParseBytes for SuggestedCacheSize {
26 const LENGTH_BYTES: usize = 4;
27
28 fn parsing_handler(bytes: &[u8]) -> SqliteResult<Self> {
29 let buf: [u8; Self::LENGTH_BYTES] = bytes.try_into()?;
30
31 let database_size = u32::from_be_bytes(buf);
32
33 Ok(Self(database_size))
34 }
35}