feat: configurable cache capacity
parent
6dbe195695
commit
6b3934e31d
|
@ -29,7 +29,7 @@ state-res = { git = "https://github.com/timokoesters/state-res", branch = "spec-
|
||||||
# Used for long polling
|
# Used for long polling
|
||||||
tokio = "0.2.22"
|
tokio = "0.2.22"
|
||||||
# Used for storing data permanently
|
# Used for storing data permanently
|
||||||
sled = "0.34.4"
|
sled = { version = "0.34.4", default-features = false }
|
||||||
# Used for emitting log entries
|
# Used for emitting log entries
|
||||||
log = "0.4.11"
|
log = "0.4.11"
|
||||||
# Used for rocket<->ruma conversions
|
# Used for rocket<->ruma conversions
|
||||||
|
|
|
@ -10,12 +10,11 @@ pub mod users;
|
||||||
|
|
||||||
use crate::{Error, Result};
|
use crate::{Error, Result};
|
||||||
use directories::ProjectDirs;
|
use directories::ProjectDirs;
|
||||||
use log::info;
|
|
||||||
use std::fs::remove_dir_all;
|
|
||||||
|
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
|
use log::info;
|
||||||
use rocket::{futures, Config};
|
use rocket::{futures, Config};
|
||||||
use ruma::{DeviceId, UserId};
|
use ruma::{DeviceId, UserId};
|
||||||
|
use std::{convert::TryFrom, fs::remove_dir_all};
|
||||||
|
|
||||||
pub struct Database {
|
pub struct Database {
|
||||||
pub globals: globals::Globals,
|
pub globals: globals::Globals,
|
||||||
|
@ -66,7 +65,19 @@ impl Database {
|
||||||
.to_owned())
|
.to_owned())
|
||||||
})?;
|
})?;
|
||||||
|
|
||||||
let db = sled::open(&path)?;
|
let db = sled::Config::default()
|
||||||
|
.path(&path)
|
||||||
|
.cache_capacity(
|
||||||
|
u64::try_from(
|
||||||
|
config
|
||||||
|
.get_int("cache_capacity")
|
||||||
|
.unwrap_or(1024 * 1024 * 1024),
|
||||||
|
)
|
||||||
|
.map_err(|_| Error::BadConfig("Cache capacity needs to be a u64."))?,
|
||||||
|
)
|
||||||
|
.print_profile_on_drop(false)
|
||||||
|
.open()?;
|
||||||
|
|
||||||
info!("Opened sled database at {}", path);
|
info!("Opened sled database at {}", path);
|
||||||
|
|
||||||
Ok(Self {
|
Ok(Self {
|
||||||
|
|
Loading…
Reference in New Issue