Add TOML parsing

This commit is contained in:
Michael Mikovsky
2025-12-17 10:20:50 -07:00
parent 3ba5577b87
commit f8acdfb2dd
7 changed files with 210 additions and 36 deletions
+5 -9
View File
@@ -1,22 +1,18 @@
mod database;
mod manager;
use std::sync::{Arc, Mutex};
use unshell_lib::module::Manager;
use crate::SERVER_CONFIG;
#[derive(Clone)]
pub struct Server {
pub manager: Arc<Mutex<Manager>>,
pub config: Vec<crate::config::ComponentMetadata>,
// pub manager: Arc<Mutex<Manager>>,
pub db: sled::Db,
}
impl Server {
pub fn new(database: String) -> Self {
Self {
manager: Manager::start(&SERVER_CONFIG, Vec::new()),
config: Vec::new(),
// manager: Manager::start(&SERVER_CONFIG, Vec::new()),
db: sled::open(database).expect("Failed to open database"),
}
}
@@ -25,6 +21,6 @@ impl Server {
impl Drop for Server {
fn drop(&mut self) {
self.db.flush().expect("Failed to flush database on drop");
Manager::join(self.manager.clone());
// Manager::join(self.manager.clone());
}
}