mirror of
https://github.com/fawney19/Aether.git
synced 2026-10-07 18:07:47 +08:00
将 gateway 内部的 model-fetch、provider-transport、scheduler-core、 usage-runtime、video-tasks-core 模块提取为独立 crate;重构 gateway 内部模块结构(state/router/cache/data/query 等);移除大量遗留模块 文件;新增 systemd 二进制部署骨架及相关文档;更新前端 usage 相关 API 和组件。
19 lines
503 B
Rust
19 lines
503 B
Rust
use std::time::Duration;
|
|
|
|
use aether_cache::ExpiringMap;
|
|
|
|
#[derive(Debug, Default)]
|
|
pub(crate) struct DirectPlanBypassCache {
|
|
entries: ExpiringMap<String, ()>,
|
|
}
|
|
|
|
impl DirectPlanBypassCache {
|
|
pub(crate) fn should_skip(&self, cache_key: &str, ttl: Duration) -> bool {
|
|
self.entries.contains_fresh(&cache_key.to_string(), ttl)
|
|
}
|
|
|
|
pub(crate) fn mark(&self, cache_key: String, ttl: Duration, max_entries: usize) {
|
|
self.entries.insert(cache_key, (), ttl, max_entries);
|
|
}
|
|
}
|