Skip to main content

zerolaunch_plugin_api/host/
cache_level.rs

1use serde::{Deserialize, Serialize};
2
3/// 缓存等级枚举,控制图标服务的缓存策略。
4/// 插件通过 PluginSdkConfig 注册时指定,HostApi 根据等级决定缓存行为。
5/// 跨进程经 `host/sdk_config.update` 以 camelCase 名称收发。
6#[derive(Debug, Clone, Copy, PartialEq, Eq, Default, Serialize, Deserialize)]
7pub enum CacheLevel {
8    /// 双层缓存(L1 → L2 → 提取 → 更新 L1+L2)。
9    /// 适用于图标被频繁提取的场景。
10    #[default]
11    #[serde(rename = "full")]
12    Full,
13    /// 跳过内存缓存(L2 → 提取 → 更新 L2)。
14    /// 适用于图标只在每次启动时提取的场景。
15    #[serde(rename = "skipMemory")]
16    SkipMemory,
17    /// 跳过所有缓存(直接提取)。
18    /// 适用于图标在几天的时间内可能只被提取一次的场景。
19    #[serde(rename = "skipAll")]
20    SkipAll,
21}