Skip to content

Commit ac26149

Browse files
committed
feat: added image cache config options
1 parent 6943df9 commit ac26149

File tree

2 files changed

+10
-8
lines changed

2 files changed

+10
-8
lines changed

src/bin/main.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,15 @@ async fn main() -> std::io::Result<()> {
3535

3636
let max_image_request_timeout_ms = cfg.settings.read().await.cache.image_cache_max_request_timeout_ms;
3737
let max_image_size = cfg.settings.read().await.cache.image_cache_entry_size_limit;
38+
let user_quota_period_seconds = cfg.settings.read().await.cache.image_cache_user_quota_period_seconds;
39+
let user_quota_bytes = cfg.settings.read().await.cache.image_cache_user_quota_bytes;
3840
let image_cache_capacity = cfg.settings.read().await.cache.image_cache_capacity;
3941

4042
let image_cache_manager_config = ImageCacheManagerConfig {
4143
max_image_request_timeout_ms,
42-
max_image_size
44+
max_image_size,
45+
user_quota_period_seconds,
46+
user_quota_bytes
4347
};
4448

4549
let image_cache = BytesCache::with_capacity_and_entry_size_limit(image_cache_capacity, image_cache_manager_config.max_image_size)

src/cache/image/manager.rs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,6 @@ use tokio::sync::RwLock;
88
use crate::cache::cache::BytesCache;
99
use crate::models::user::{UserCompact, UserId};
1010

11-
// todo: add these to config.
12-
const IMAGE_CACHE_USER_QUOTA_PERIOD_SECONDS: u64 = 3600;
13-
const IMAGE_CACHE_USER_QUOTA_BYTES: usize = 64_000_000;
14-
1511
static ERROR_IMAGE_LOADER: Once = Once::new();
1612
static mut ERROR_IMAGE_UNAUTHENTICATED: Bytes = Bytes::new();
1713

@@ -79,7 +75,9 @@ impl ImageCacheQuota {
7975

8076
pub struct ImageCacheManagerConfig {
8177
pub max_image_request_timeout_ms: u64,
82-
pub max_image_size: usize
78+
pub max_image_size: usize,
79+
pub user_quota_period_seconds: u64,
80+
pub user_quota_bytes: usize
8381
}
8482

8583
pub struct ImageCacheManager {
@@ -171,8 +169,8 @@ impl ImageCacheManager {
171169
.cloned()
172170
.unwrap_or(ImageCacheQuota::new(
173171
user.user_id,
174-
IMAGE_CACHE_USER_QUOTA_BYTES,
175-
IMAGE_CACHE_USER_QUOTA_PERIOD_SECONDS)
172+
self.config.user_quota_bytes,
173+
self.config.user_quota_period_seconds)
176174
);
177175

178176
let _ = quota.add_usage(image_bytes.len());

0 commit comments

Comments
 (0)