pub struct HistoryStorage { /* private fields */ }Implementations§
Source§impl HistoryStorage
impl HistoryStorage
Sourcepub fn save_result(
&self,
result: &SpeedTestResult,
) -> Result<(), Box<dyn Error>>
pub fn save_result( &self, result: &SpeedTestResult, ) -> Result<(), Box<dyn Error>>
Save a test result
Sourcepub fn get_recent_results(
&self,
limit: usize,
) -> Result<Vec<SpeedTestResult>, Box<dyn Error>>
pub fn get_recent_results( &self, limit: usize, ) -> Result<Vec<SpeedTestResult>, Box<dyn Error>>
Get recent test results
Sourcepub fn get_all_results(&self) -> Result<Vec<SpeedTestResult>, Box<dyn Error>>
pub fn get_all_results(&self) -> Result<Vec<SpeedTestResult>, Box<dyn Error>>
Get all test results
Sourcepub fn get_results_by_date_range(
&self,
start: DateTime<Utc>,
end: DateTime<Utc>,
) -> Result<Vec<SpeedTestResult>, Box<dyn Error>>
pub fn get_results_by_date_range( &self, start: DateTime<Utc>, end: DateTime<Utc>, ) -> Result<Vec<SpeedTestResult>, Box<dyn Error>>
Get results within a date range
Sourcepub fn get_results_by_quality(
&self,
quality: ConnectionQuality,
) -> Result<Vec<SpeedTestResult>, Box<dyn Error>>
pub fn get_results_by_quality( &self, quality: ConnectionQuality, ) -> Result<Vec<SpeedTestResult>, Box<dyn Error>>
Get results filtered by quality
Sourcepub fn get_results_by_server(
&self,
server_location: &str,
) -> Result<Vec<SpeedTestResult>, Box<dyn Error>>
pub fn get_results_by_server( &self, server_location: &str, ) -> Result<Vec<SpeedTestResult>, Box<dyn Error>>
Get results by server location
Sourcepub fn get_statistics(&self) -> Result<TestStatistics, Box<dyn Error>>
pub fn get_statistics(&self) -> Result<TestStatistics, Box<dyn Error>>
Get statistics
Sourcepub fn get_statistics_by_date_range(
&self,
start: DateTime<Utc>,
end: DateTime<Utc>,
) -> Result<TestStatistics, Box<dyn Error>>
pub fn get_statistics_by_date_range( &self, start: DateTime<Utc>, end: DateTime<Utc>, ) -> Result<TestStatistics, Box<dyn Error>>
Get statistics for a specific date range
Sourcepub fn delete_result(
&self,
timestamp: DateTime<Utc>,
) -> Result<(), Box<dyn Error>>
pub fn delete_result( &self, timestamp: DateTime<Utc>, ) -> Result<(), Box<dyn Error>>
Delete a specific result
Sourcepub fn import_from_json(&self, path: &str) -> Result<usize, Box<dyn Error>>
pub fn import_from_json(&self, path: &str) -> Result<usize, Box<dyn Error>>
Import history from JSON
Sourcepub fn optimize(&self) -> Result<(), Box<dyn Error>>
pub fn optimize(&self) -> Result<(), Box<dyn Error>>
Optimize database Note: redb’s compact() requires &mut self which is not available through &self. The database already manages its storage efficiently with ACID transactions.
Sourcepub fn get_fastest_download(
&self,
) -> Result<Option<SpeedTestResult>, Box<dyn Error>>
pub fn get_fastest_download( &self, ) -> Result<Option<SpeedTestResult>, Box<dyn Error>>
Get fastest recorded download speed
Sourcepub fn get_fastest_upload(
&self,
) -> Result<Option<SpeedTestResult>, Box<dyn Error>>
pub fn get_fastest_upload( &self, ) -> Result<Option<SpeedTestResult>, Box<dyn Error>>
Get fastest recorded upload speed
Sourcepub fn get_lowest_ping(&self) -> Result<Option<SpeedTestResult>, Box<dyn Error>>
pub fn get_lowest_ping(&self) -> Result<Option<SpeedTestResult>, Box<dyn Error>>
Get lowest recorded ping
Sourcepub fn cleanup_old_records_manual(&self) -> Result<usize, Box<dyn Error>>
pub fn cleanup_old_records_manual(&self) -> Result<usize, Box<dyn Error>>
Manually cleanup old records (older than retention period) Returns the number of records deleted
Sourcepub const fn get_retention_days() -> i64
pub const fn get_retention_days() -> i64
Get the retention period in days
Sourcepub fn get_speed_trends(&self) -> Result<SpeedTrends, Box<dyn Error>>
pub fn get_speed_trends(&self) -> Result<SpeedTrends, Box<dyn Error>>
Get speed trends (compares recent results to historical average)
Auto Trait Implementations§
impl !RefUnwindSafe for HistoryStorage
impl !UnwindSafe for HistoryStorage
impl Freeze for HistoryStorage
impl Send for HistoryStorage
impl Sync for HistoryStorage
impl Unpin for HistoryStorage
impl UnsafeUnpin for HistoryStorage
Blanket Implementations§
Source§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
Mutably borrows from an owned value. Read more