use std::{path::PathBuf, time::Duration}; use tdn::prelude::*; #[tokio::main] async fn main() { let config = Config::load(PathBuf::from("./")).await; let (_secret, ids, p2p_config, _rpc_config) = config.split(); let (send_send, send_recv) = new_send_channel(); let (recv_send, mut recv_recv) = new_receive_channel(); let peer_id = start_main(ids, p2p_config, recv_send, send_recv, None, None) .await .unwrap(); println!("Example: peer id: {:?}", peer_id); println!("Network will stop after 5s..."); tokio::time::sleep(Duration::from_secs(5)).await; let _ = send_send .send(SendMessage::Network(NetworkType::NetworkStop)) .await; while let Some(_) = recv_recv.recv().await { // } println!("Network is stopped."); }