1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
use log::{debug, error, info, Level};
use env_logger;
use tokio::signal;
mod actors;
mod util;
use actors::stdin::StdInLinesHandle;
use actors::sender_can::SenderCANHandle;
use actors::receiver_can::ReceiverCANHandle;
use actors::ctrlc::CtrlCActorHandle;
#[tokio::main]
async fn main() {
env_logger::init();
info!("Starting runtime");
let receiver = ReceiverCANHandle::new();
let sender = SenderCANHandle::new();
let ctrlc = CtrlCActorHandle::new();
let stdin = StdInLinesHandle::new(
tokio::runtime::Handle::current(),
ctrlc.clone(),
sender.clone(),
receiver.clone(),
);
stdin.spawn_handle.await;
}