update keepalive
Signed-off-by: Valentyn Faychuk <valy@detee.ltd>
This commit is contained in:
		
							parent
							
								
									ce69455dd6
								
							
						
					
					
						commit
						4a6e8c4c73
					
				| @ -231,6 +231,15 @@ impl State { | ||||
|             .nth(skip) | ||||
|     } | ||||
| 
 | ||||
|     pub async fn update_keepalive(&self) { | ||||
|         let mut nodes = self.nodes.write().await; | ||||
|         if let Some(my_info) = nodes.get_mut(&self.my_ip) { | ||||
|             let mut updated_info = my_info.clone(); | ||||
|             updated_info.keepalive = SystemTime::now(); | ||||
|             let _ = nodes.insert(self.my_ip.clone(), updated_info); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     /// This returns true if the update should be further forwarded
 | ||||
|     /// For example, we never forward our own updates that came back
 | ||||
|     pub async fn process_node_update(&self, (node_ip, node_info): (String, NodeInfo)) -> bool { | ||||
|  | ||||
| @ -51,6 +51,7 @@ pub async fn heartbeat( | ||||
|     loop { | ||||
|         interval.tick().await; | ||||
|         println!("Heartbeat..."); | ||||
|         state.update_keepalive().await; | ||||
|         state.remove_inactive_nodes().await; | ||||
|         let connected_ips = state.get_connected_ips().await; | ||||
|         println!("Connected nodes ({}): {:?}", connected_ips.len(), connected_ips); | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user