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}