From 32e85dae7a5be5922d217df5e97052bd16c0108c Mon Sep 17 00:00:00 2001 From: trivernis Date: Sat, 30 Oct 2021 19:35:27 +0200 Subject: [PATCH] Add cleaning of buffers to separate worker thread Signed-off-by: trivernis --- mediarepo-api/src/tauri_plugin/custom_schemes.rs | 2 +- mediarepo-api/src/tauri_plugin/mod.rs | 8 +++++++- mediarepo-api/src/tauri_plugin/state.rs | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/mediarepo-api/src/tauri_plugin/custom_schemes.rs b/mediarepo-api/src/tauri_plugin/custom_schemes.rs index 6ad31c4..a5b4bd2 100644 --- a/mediarepo-api/src/tauri_plugin/custom_schemes.rs +++ b/mediarepo-api/src/tauri_plugin/custom_schemes.rs @@ -8,7 +8,7 @@ pub fn register_custom_uri_schemes(builder: Builder) -> Builder Plugin for MediarepoPlugin { app.manage(api_state); let buffer_state = BufferState::default(); - app.manage(buffer_state); + app.manage(buffer_state.clone()); + thread::spawn(move || loop { + thread::sleep(Duration::from_secs(10)); + buffer_state.clear_expired(); + }); let repo_state = AppState::load()?; app.manage(repo_state); diff --git a/mediarepo-api/src/tauri_plugin/state.rs b/mediarepo-api/src/tauri_plugin/state.rs index 3179f42..f73132a 100644 --- a/mediarepo-api/src/tauri_plugin/state.rs +++ b/mediarepo-api/src/tauri_plugin/state.rs @@ -58,7 +58,7 @@ impl VolatileBuffer { } } -#[derive(Default)] +#[derive(Default, Clone)] pub struct BufferState { pub buffer: Arc>>, }