field_ios

In-the-field app for Radroots on iOS
git clone https://radroots.dev/git/field_ios.git
Log | Files | Refs | README | LICENSE

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 }