use std::time::{SystemTime, UNIX_EPOCH}; use rkyv::{Archive, Deserialize, Serialize}; #[derive(Serialize, Deserialize, Archive)] pub struct Data { pub data_chunks: Vec, pub data_static: BatteryStatic, } #[derive(Serialize, Deserialize, Archive)] pub struct DataChunk { pub timestamp: u64, pub battery: BatteryMutable, } #[derive(Serialize, Deserialize, Archive)] pub struct BatteryMutable { pub charge: i64, } #[derive(Serialize, Deserialize, Archive)] pub struct BatteryStatic { pub total_capacity: i64, } impl Data { pub fn new(battery_static: BatteryStatic) -> Data { Data { data_chunks: Vec::new(), data_static: battery_static, } } }