|
|
|
@ -12,10 +12,7 @@ mod pdu; |
|
|
|
mod ruma_wrapper; |
|
|
|
mod ruma_wrapper; |
|
|
|
mod utils; |
|
|
|
mod utils; |
|
|
|
|
|
|
|
|
|
|
|
use std::{ |
|
|
|
use std::sync::Arc; |
|
|
|
sync::{Arc, Weak}, |
|
|
|
|
|
|
|
time::{Duration, Instant}, |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
use database::Config; |
|
|
|
use database::Config; |
|
|
|
pub use database::Database; |
|
|
|
pub use database::Database; |
|
|
|
@ -33,10 +30,7 @@ use rocket::{ |
|
|
|
}, |
|
|
|
}, |
|
|
|
routes, Request, |
|
|
|
routes, Request, |
|
|
|
}; |
|
|
|
}; |
|
|
|
use tokio::{ |
|
|
|
use tokio::sync::RwLock; |
|
|
|
sync::RwLock, |
|
|
|
|
|
|
|
time::{interval, timeout}, |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
use tracing::span; |
|
|
|
use tracing::span; |
|
|
|
use tracing_subscriber::{prelude::*, Registry}; |
|
|
|
use tracing_subscriber::{prelude::*, Registry}; |
|
|
|
|
|
|
|
|
|
|
|
@ -208,7 +202,15 @@ async fn main() { |
|
|
|
.await |
|
|
|
.await |
|
|
|
.expect("config is valid"); |
|
|
|
.expect("config is valid"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#[cfg(feature = "sqlite")] |
|
|
|
{ |
|
|
|
{ |
|
|
|
|
|
|
|
use tokio::time::{interval, timeout}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
use std::{ |
|
|
|
|
|
|
|
sync::Weak, |
|
|
|
|
|
|
|
time::{Duration, Instant}, |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
let weak: Weak<RwLock<Database>> = Arc::downgrade(&db); |
|
|
|
let weak: Weak<RwLock<Database>> = Arc::downgrade(&db); |
|
|
|
|
|
|
|
|
|
|
|
tokio::spawn(async { |
|
|
|
tokio::spawn(async { |
|
|
|
|