cache_cleanup.rs (962B)
1 use crate::{FfiLocalNetworkRecord, FfiRuntimeChangeKind, TeraAppError, TeraRuntime}; 2 3 #[derive(Clone, Debug, Eq, PartialEq, uniffi::Record)] 4 pub struct FfiMediaCacheCleanup { 5 pub invalidated_entries: u32, 6 pub retained_candidates: u32, 7 pub remaining_entries: u32, 8 } 9 10 #[uniffi::export(async_runtime = "tokio")] 11 impl TeraRuntime { 12 pub async fn phase1_cleanup_media_cache( 13 &self, 14 context: FfiLocalNetworkRecord, 15 ) -> Result<FfiMediaCacheCleanup, TeraAppError> { 16 let context = self.local_network(context)?; 17 let result = self.inner.phase1_cleanup_media_cache(&context).await?; 18 self.subscriptions 19 .notify_context(FfiRuntimeChangeKind::Media, Some(&context), None); 20 Ok(FfiMediaCacheCleanup { 21 invalidated_entries: result.invalidated_entries, 22 retained_candidates: result.retained_candidates, 23 remaining_entries: result.remaining_entries, 24 }) 25 } 26 }