Skip to content

Commit b117d75

Browse files
committed
feat: restore possibility to start manager
1 parent 9d05111 commit b117d75

File tree

2 files changed

+41
-8
lines changed

2 files changed

+41
-8
lines changed

core/src/activity.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ impl Default for ActivityState {
9595
}
9696
}
9797

98+
#[derive(Debug)]
9899
pub struct WrappedActivity {
99100
job_identifier: JobIdentifier,
100101
activity: Activity,

manager/src/bin.rs

Lines changed: 40 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,27 @@
1+
use std::{
2+
sync::{Arc, Mutex},
3+
thread,
4+
};
5+
16
use anyhow::Result;
27
use crossbeam_channel::{unbounded, Receiver, Sender};
8+
use daemon::Daemon;
39
use env_logger::Env;
4-
use trsync_core::{activity::WrappedActivity, config::ManagerConfig};
10+
use message::DaemonMessage;
11+
use trsync_core::{
12+
activity::WrappedActivity, config::ManagerConfig, error::ErrorExchanger, sync::SyncExchanger,
13+
user::UserRequest,
14+
};
515

616
pub mod client;
717
pub mod daemon;
818
pub mod error;
919
pub mod message;
1020
pub mod types;
1121

22+
type DaemonMessageChannels = (Sender<DaemonMessage>, Receiver<DaemonMessage>);
23+
type ActivityChannels = (Sender<WrappedActivity>, Receiver<WrappedActivity>);
24+
1225
fn main_() -> Result<()> {
1326
env_logger::Builder::from_env(Env::default().default_filter_or("info")).init();
1427

@@ -20,15 +33,34 @@ fn main_() -> Result<()> {
2033
) = unbounded();
2134

2235
log::info!("Read config");
23-
let config = ManagerConfig::from_env(true)?;
36+
let mut config = ManagerConfig::from_env(true)?;
37+
config.confirm_startup_sync = false;
38+
config.popup_confirm_startup_sync = false;
39+
40+
let sync_exchanger = Arc::new(Mutex::new(SyncExchanger::new()));
41+
let error_exchanger = Arc::new(Mutex::new(ErrorExchanger::new()));
42+
let (_main_sender, main_receiver): DaemonMessageChannels = unbounded();
43+
let (activity_sender, activity_receiver): ActivityChannels = unbounded();
44+
let sync_exchanger = sync_exchanger.clone();
45+
let error_exchanger = error_exchanger.clone();
46+
let (user_request_sender, _): (Sender<UserRequest>, Receiver<UserRequest>) = unbounded();
47+
48+
thread::spawn(move || {
49+
while let Ok(activity) = activity_receiver.recv() {
50+
log::debug!("Activity: {:?}", activity)
51+
}
52+
});
2453

2554
log::info!("Start daemon");
26-
let _config_ = config.clone();
27-
let (_activity_sender, activity_receiver): (
28-
Sender<WrappedActivity>,
29-
Receiver<WrappedActivity>,
30-
) = unbounded();
31-
std::thread::spawn(move || while activity_receiver.recv().is_ok() {});
55+
Daemon::new(
56+
config,
57+
main_receiver,
58+
activity_sender,
59+
user_request_sender,
60+
sync_exchanger,
61+
error_exchanger,
62+
)
63+
.run()?;
3264
log::info!("Daemon finished, exit");
3365

3466
Ok(())

0 commit comments

Comments
 (0)