mirror of
https://github.com/clash-verge-rev/clash-verge-rev.git
synced 2026-01-28 16:30:52 +08:00
refactor(state/proxy): use Box<Value> for providers_proxies to reduce struct size
- Changed providers_proxies from Value to Box<Value> in CmdProxyState - Reduces struct size from 32 bytes to 8 bytes, optimizing memory usage
This commit is contained in:
@@ -30,7 +30,7 @@ pub async fn get_proxies() -> CmdResult<serde_json::Value> {
|
||||
let proxies = manager.get_refresh_proxies().await?;
|
||||
{
|
||||
let mut state = cmd_proxy_state.lock().unwrap();
|
||||
state.proxies = proxies;
|
||||
state.proxies = Box::new(proxies);
|
||||
state.need_refresh = false;
|
||||
}
|
||||
log::debug!(target: "app", "proxies刷新成功");
|
||||
@@ -40,7 +40,7 @@ pub async fn get_proxies() -> CmdResult<serde_json::Value> {
|
||||
let state = cmd_proxy_state.lock().unwrap();
|
||||
state.proxies.clone()
|
||||
};
|
||||
Ok(proxies)
|
||||
Ok(*proxies)
|
||||
}
|
||||
|
||||
#[tauri::command]
|
||||
@@ -63,7 +63,7 @@ pub async fn get_providers_proxies() -> CmdResult<serde_json::Value> {
|
||||
let providers = manager.get_providers_proxies().await?;
|
||||
{
|
||||
let mut state = cmd_proxy_state.lock().unwrap();
|
||||
state.providers_proxies = providers;
|
||||
state.providers_proxies = Box::new(providers);
|
||||
state.need_refresh = false;
|
||||
}
|
||||
log::debug!(target: "app", "providers_proxies刷新成功");
|
||||
@@ -73,5 +73,5 @@ pub async fn get_providers_proxies() -> CmdResult<serde_json::Value> {
|
||||
let state = cmd_proxy_state.lock().unwrap();
|
||||
state.providers_proxies.clone()
|
||||
};
|
||||
Ok(providers_proxies)
|
||||
Ok(*providers_proxies)
|
||||
}
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
use serde_json::Value;
|
||||
|
||||
pub struct CmdProxyState {
|
||||
pub last_refresh_time: std::time::Instant,
|
||||
pub need_refresh: bool,
|
||||
pub proxies: serde_json::Value,
|
||||
pub providers_proxies: serde_json::Value,
|
||||
pub proxies: Box<Value>,
|
||||
pub providers_proxies: Box<Value>,
|
||||
}
|
||||
|
||||
impl Default for CmdProxyState {
|
||||
@@ -10,8 +12,8 @@ impl Default for CmdProxyState {
|
||||
Self {
|
||||
last_refresh_time: std::time::Instant::now(),
|
||||
need_refresh: true,
|
||||
proxies: serde_json::Value::Null,
|
||||
providers_proxies: serde_json::Value::Null,
|
||||
proxies: Box::new(Value::Null),
|
||||
providers_proxies: Box::new(Value::Null),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user