nodes are not connecting to themselves anymore
Signed-off-by: Valentyn Faychuk <valy@detee.ltd>
This commit is contained in:
		
							parent
							
								
									3b960ed596
								
							
						
					
					
						commit
						e5e4109007
					
				
							
								
								
									
										20
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
								
								
								
								
								
									
									
								
							
						
						
									
										20
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							| @ -1470,20 +1470,6 @@ dependencies = [ | ||||
|  "parking_lot_core", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "dashmap" | ||||
| version = "6.1.0" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" | ||||
| dependencies = [ | ||||
|  "cfg-if", | ||||
|  "crossbeam-utils", | ||||
|  "hashbrown 0.14.5", | ||||
|  "lock_api", | ||||
|  "once_cell", | ||||
|  "parking_lot_core", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "data-encoding" | ||||
| version = "2.6.0" | ||||
| @ -2113,13 +2099,11 @@ dependencies = [ | ||||
|  "actix-web", | ||||
|  "async-stream", | ||||
|  "chrono", | ||||
|  "dashmap 6.1.0", | ||||
|  "detee-sgx", | ||||
|  "env_logger 0.11.5", | ||||
|  "hyper 1.4.1", | ||||
|  "hyper-rustls 0.27.3", | ||||
|  "hyper-util", | ||||
|  "once_cell", | ||||
|  "prost", | ||||
|  "prost-types", | ||||
|  "public-ip", | ||||
| @ -4277,7 +4261,7 @@ checksum = "67169e4f1faabb717ce81b5ca93960da21e3ac5c9b75cb6792f9b3ce38db459f" | ||||
| dependencies = [ | ||||
|  "async-trait", | ||||
|  "bincode", | ||||
|  "dashmap 5.5.3", | ||||
|  "dashmap", | ||||
|  "futures", | ||||
|  "futures-util", | ||||
|  "indexmap 2.6.0", | ||||
| @ -4753,7 +4737,7 @@ dependencies = [ | ||||
|  "async-channel", | ||||
|  "bytes", | ||||
|  "crossbeam-channel", | ||||
|  "dashmap 5.5.3", | ||||
|  "dashmap", | ||||
|  "futures-util", | ||||
|  "histogram", | ||||
|  "indexmap 2.6.0", | ||||
|  | ||||
| @ -122,14 +122,14 @@ impl State { | ||||
| 
 | ||||
|     fn delete_mratls_conn(&self, ip: &str) { | ||||
|         if let Ok(mut conns) = self.conns.write() { | ||||
|             conns.insert(ip.to_string()); | ||||
|             conns.remove(ip); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     pub fn increase_mint_requests(&self) { | ||||
|         if let Ok(mut nodes) = self.nodes.write() { | ||||
|             if let Some(my_info) = nodes.get_mut(&self.my_ip) { | ||||
|                 my_info.mint_requests += 1; | ||||
|                 *my_info = NodeInfo { mint_requests: my_info.mint_requests + 1, ..my_info.clone() }; | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| @ -137,7 +137,7 @@ impl State { | ||||
|     pub fn increase_mints(&self) { | ||||
|         if let Ok(mut nodes) = self.nodes.write() { | ||||
|             if let Some(my_info) = nodes.get_mut(&self.my_ip) { | ||||
|                 my_info.mints += 1; | ||||
|                 *my_info = NodeInfo { mints: my_info.mints + 1, ..my_info.clone() }; | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| @ -145,7 +145,7 @@ impl State { | ||||
|     pub fn increase_mratls_conns(&self) { | ||||
|         if let Ok(mut nodes) = self.nodes.write() { | ||||
|             if let Some(my_info) = nodes.get_mut(&self.my_ip) { | ||||
|                 my_info.mratls_conns += 1; | ||||
|                 *my_info = NodeInfo { mratls_conns: my_info.mratls_conns + 1, ..my_info.clone() }; | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| @ -154,7 +154,8 @@ impl State { | ||||
|         if let Ok(mut nodes) = self.nodes.write() { | ||||
|             if let Some(my_info) = nodes.get_mut(&self.my_ip) { | ||||
|                 if my_info.mratls_conns > 0 { | ||||
|                     my_info.mratls_conns -= 1; | ||||
|                     *my_info = | ||||
|                         NodeInfo { mratls_conns: my_info.mratls_conns - 1, ..my_info.clone() }; | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
| @ -163,7 +164,7 @@ impl State { | ||||
|     pub fn increase_disk_attacks(&self) { | ||||
|         if let Ok(mut nodes) = self.nodes.write() { | ||||
|             if let Some(my_info) = nodes.get_mut(&self.my_ip) { | ||||
|                 my_info.disk_attacks += 1; | ||||
|                 *my_info = NodeInfo { disk_attacks: my_info.disk_attacks + 1, ..my_info.clone() }; | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| @ -171,7 +172,7 @@ impl State { | ||||
|     pub fn increase_net_attacks(&self) { | ||||
|         if let Ok(mut nodes) = self.nodes.write() { | ||||
|             if let Some(my_info) = nodes.get_mut(&self.my_ip) { | ||||
|                 my_info.net_attacks += 1; | ||||
|                 *my_info = NodeInfo { net_attacks: my_info.net_attacks + 1, ..my_info.clone() }; | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| @ -179,7 +180,7 @@ impl State { | ||||
|     pub fn declare_myself_public(&self) { | ||||
|         if let Ok(mut nodes) = self.nodes.write() { | ||||
|             if let Some(my_info) = nodes.get_mut(&self.my_ip) { | ||||
|                 my_info.public = true; | ||||
|                 *my_info = NodeInfo { public: true, ..my_info.clone() }; | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| @ -223,8 +224,7 @@ impl State { | ||||
|                 .map(|ip| ip.to_string()) | ||||
|                 .filter(|ip| ip != &self.my_ip && !conn_ips.contains(ip)) | ||||
|                 .cycle() | ||||
|                 .skip(skip) | ||||
|                 .next(); | ||||
|                 .nth(skip); | ||||
|         } | ||||
|         None | ||||
|     } | ||||
| @ -240,7 +240,7 @@ impl State { | ||||
|                 .map(|curr_info| node_info.is_newer_than(&curr_info)) | ||||
|                 .unwrap_or(true); | ||||
|             if is_update_new { | ||||
|                 nodes.insert(node_ip.clone(), node_info.clone()); | ||||
|                 let _ = nodes.insert(node_ip.clone(), node_info.clone()); | ||||
|             } | ||||
|         } | ||||
|         if is_update_new { | ||||
|  | ||||
| @ -14,7 +14,7 @@ pub async fn grpc_new_conn( | ||||
|     ra_cfg: RaTlsConfig, | ||||
|     tx: Sender<InternalNodeUpdate>, | ||||
| ) { | ||||
|     if Ipv4Addr::from_str(&node_ip).is_err() { | ||||
|     if Ipv4Addr::from_str(&node_ip).is_err() || node_ip == state.get_my_ip() { | ||||
|         println!("IPv4 address is invalid: {node_ip}"); | ||||
|         return; | ||||
|     } | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user