From bfe8979bb9ba5017db32a5bd4f876cd318670c46 Mon Sep 17 00:00:00 2001 From: Greg Burri Date: Mon, 15 Mar 2021 12:42:52 +0100 Subject: [PATCH] Use a cached function --- backend/src/main.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/backend/src/main.rs b/backend/src/main.rs index 84485c2..03963c1 100644 --- a/backend/src/main.rs +++ b/backend/src/main.rs @@ -7,6 +7,7 @@ use actix_web::{ get, web, Responder, middleware, App, HttpServer }; use askama::Template; use ron::{ de::from_reader, ser::{ to_string_pretty, PrettyConfig } }; use serde::{ Deserialize, Serialize }; +use cached::proc_macro::cached; mod consts; mod tests; @@ -25,11 +26,16 @@ struct MainTemplate { const VALUE_UNKNOWN: &str = "-"; +#[cached(size = 1, time = 10)] +fn get_valheim_executable_information_cached(world_path: String) -> Option { + valheim_controller::get_valheim_executable_information(&world_path) +} + #[get("/")] async fn main_page(config_shared: web::Data>) -> impl Responder { let config = config_shared.lock().unwrap(); - match valheim_controller::get_valheim_executable_information(&config.world_path) { + match get_valheim_executable_information_cached(config.world_path.clone()) { Some(info) => MainTemplate { text_status: String::from("Valheim server is up and running :)"), -- 2.43.0