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;
}