cycling keys every 60 sec
This commit is contained in:
		
							parent
							
								
									4d00b116f4
								
							
						
					
					
						commit
						2f4fa0f4f9
					
				| @ -73,19 +73,3 @@ impl ConnManager { | ||||
|         Ok(()) | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| // pub async fn init_connections(ds: Arc<Store>, tx: Sender<NodeUpdate>) {
 | ||||
| //     let mut nodes = load_init_nodes("detee_challenge_nodes");
 | ||||
| //     // we rotate online and offline nodes, to constantly check new nodes
 | ||||
| //     let mut only_online_nodes = true;
 | ||||
| //     loop {
 | ||||
| //         let mut set = JoinSet::new();
 | ||||
| //         for node in nodes {
 | ||||
| //             let conn = ConnManager::init(ds.clone(), tx.clone());
 | ||||
| //             set.spawn(conn.connect_wrapper(node));
 | ||||
| //         }
 | ||||
| //         while let Some(_) = set.join_next().await {}
 | ||||
| //         nodes = ds.get_random_nodes(only_online_nodes).await;
 | ||||
| //         only_online_nodes = !only_online_nodes;
 | ||||
| //     }
 | ||||
| // }
 | ||||
|  | ||||
							
								
								
									
										13
									
								
								src/main.rs
									
									
									
									
									
								
							
							
								
								
								
								
								
									
									
								
							
						
						
									
										13
									
								
								src/main.rs
									
									
									
									
									
								
							| @ -1,4 +1,6 @@ | ||||
| mod datastore; | ||||
| use crate::grpc::challenge::NodeUpdate; | ||||
| use tokio::sync::broadcast::Sender; | ||||
| use tokio::task::JoinSet; | ||||
| mod grpc; | ||||
| mod http_server; | ||||
| @ -7,17 +9,24 @@ use std::fs::File; | ||||
| use std::io::{BufRead, BufReader}; | ||||
| use std::sync::Arc; | ||||
| use tokio::sync::broadcast; | ||||
| use tokio::time::{sleep, Duration}; | ||||
| 
 | ||||
| async fn cycle_keys(ds: Arc<Store>, tx: Sender<NodeUpdate>) { | ||||
|     loop { | ||||
|         let _ = tx.send(ds.reset_localhost_keys().await); | ||||
|         sleep(Duration::from_secs(60)).await; | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| #[tokio::main] | ||||
| async fn main() { | ||||
|     let ds: Arc<Store> = Arc::new(Store::init()); | ||||
|     let (tx, mut _rx) = broadcast::channel(500); | ||||
| 
 | ||||
|     ds.reset_localhost_keys().await; | ||||
| 
 | ||||
|     let mut long_term_tasks = JoinSet::new(); | ||||
|     let mut init_tasks = JoinSet::new(); | ||||
| 
 | ||||
|     long_term_tasks.spawn(cycle_keys(ds.clone(), tx.clone())); | ||||
|     long_term_tasks.spawn(http_server::init(ds.clone())); | ||||
|     long_term_tasks.spawn(grpc::server::MyServer::init(ds.clone(), tx.clone()).start()); | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user