if any of these sends fail the program should panic so unwrap is fine
This commit is contained in:
		
							parent
							
								
									e2ca266259
								
							
						
					
					
						commit
						ac0062260a
					
				| @ -149,7 +149,7 @@ where | ||||
|     R: RecvServerPacket + std::fmt::Debug + Send + 'static, | ||||
| { | ||||
|     async_std::task::spawn(async move { | ||||
|         server_sender.send(ClientAction::NewClient(client_id, client_sender)).await; | ||||
|         server_sender.send(ClientAction::NewClient(client_id, client_sender)).await.unwrap(); | ||||
|         let mut pkt_receiver = PacketReceiver::new(socket, cipher); | ||||
| 
 | ||||
|         loop { | ||||
| @ -157,14 +157,14 @@ where | ||||
|                 Ok(pkts) => { | ||||
|                     for pkt in pkts { | ||||
|                         trace!("[recv from {:?}] {:?}", client_id, pkt); | ||||
|                         server_sender.send(ClientAction::Packet(client_id, pkt)).await; | ||||
|                         server_sender.send(ClientAction::Packet(client_id, pkt)).await.unwrap(); | ||||
|                     } | ||||
|                 }, | ||||
|                 Err(err) => { | ||||
|                     match err { | ||||
|                         NetworkError::ClientDisconnected => { | ||||
|                             trace!("[client disconnected] {:?}", client_id); | ||||
|                             server_sender.send(ClientAction::Disconnect(client_id)).await; | ||||
|                             server_sender.send(ClientAction::Disconnect(client_id)).await.unwrap(); | ||||
|                             break; | ||||
|                         } | ||||
|                         _ => { | ||||
| @ -229,10 +229,10 @@ fn state_client_loop<STATE, S, R, E>(state: Arc<Mutex<STATE>>, | ||||
|                             for action in actions { | ||||
|                                 match action { | ||||
|                                     OnConnect::Cipher((inc, outc)) => { | ||||
|                                         sender.send(ServerStateAction::Cipher(inc, outc)).await; | ||||
|                                         sender.send(ServerStateAction::Cipher(inc, outc)).await.unwrap(); | ||||
|                                     }, | ||||
|                                     OnConnect::Packet(pkt) => { | ||||
|                                         sender.send(ServerStateAction::Packet(pkt)).await; | ||||
|                                         sender.send(ServerStateAction::Packet(pkt)).await.unwrap(); | ||||
|                                     } | ||||
|                                 } | ||||
|                             } | ||||
| @ -249,7 +249,7 @@ fn state_client_loop<STATE, S, R, E>(state: Arc<Mutex<STATE>>, | ||||
|                         Ok(pkts) => { | ||||
|                             for (client_id, pkt) in pkts { | ||||
|                                 if let Some(client) = clients.get_mut(&client_id) { | ||||
|                                     client.send(ServerStateAction::Packet(pkt)).await; | ||||
|                                     client.send(ServerStateAction::Packet(pkt)).await.unwrap(); | ||||
|                                 } | ||||
|                             } | ||||
|                         }, | ||||
| @ -264,12 +264,12 @@ fn state_client_loop<STATE, S, R, E>(state: Arc<Mutex<STATE>>, | ||||
|                         Ok(pkts) => { | ||||
|                             for (client_id, pkt) in pkts { | ||||
|                                 if let Some(client) = clients.get_mut(&client_id) { | ||||
|                                     client.send(ServerStateAction::Packet(pkt)).await; | ||||
|                                     client.send(ServerStateAction::Packet(pkt)).await.unwrap(); | ||||
|                                 } | ||||
|                             } | ||||
| 
 | ||||
|                             if let Some(client) = clients.get_mut(&client_id) { | ||||
|                                 client.send(ServerStateAction::Disconnect).await; | ||||
|                                 client.send(ServerStateAction::Disconnect).await.unwrap(); | ||||
|                             } | ||||
|                         } | ||||
|                         Err(err) => { | ||||
|  | ||||
| @ -79,7 +79,7 @@ where | ||||
|                     ships.insert(server_id, ship_action_sender); | ||||
|                     for (server, action) in state.on_connect(server_id).await { | ||||
|                         if let Some(sender) = ships.get_mut(&server) { 
 | ||||
|                             sender.send(action).await; | ||||
|                             sender.send(action).await.unwrap(); | ||||
|                         } | ||||
|                     } | ||||
|                 }, | ||||
| @ -89,7 +89,7 @@ where | ||||
|                         Ok(actions) => { | ||||
|                             for (server, action) in actions{ | ||||
|                                 if let Some(sender) = ships.get_mut(&server) { | ||||
|                                     sender.send(action).await; | ||||
|                                     sender.send(action).await.unwrap(); | ||||
|                                 } | ||||
|                             } | ||||
|                         }, | ||||
| @ -103,7 +103,7 @@ where | ||||
|                     ships.remove(&server_id); | ||||
|                     for (server, action) in actions { | ||||
|                         if let Some(sender) = ships.get_mut(&server) { | ||||
|                             sender.send(action).await; | ||||
|                             sender.send(action).await.unwrap(); | ||||
|                         } | ||||
|                     } | ||||
|                 } | ||||
| @ -121,7 +121,7 @@ where | ||||
|     R: DeserializeOwned + std::fmt::Debug + Send + 'static, | ||||
| { | ||||
|     async_std::task::spawn(async move { | ||||
|         state_loop_sender.send(InterserverInputAction::NewConnection(server_id, output_loop_sender)).await; | ||||
|         state_loop_sender.send(InterserverInputAction::NewConnection(server_id, output_loop_sender)).await.unwrap(); | ||||
|         let mut msg_receiver = MessageReceiver::new(socket); | ||||
| 
 | ||||
|         loop { | ||||
| @ -129,12 +129,12 @@ where | ||||
|             match msg_receiver.recv().await { | ||||
|                 Ok(msg) => { | ||||
|                     info!("[login recv loop msg] {:?}", msg); | ||||
|                     state_loop_sender.send(InterserverInputAction::Message(server_id, msg)).await; | ||||
|                     state_loop_sender.send(InterserverInputAction::Message(server_id, msg)).await.unwrap(); | ||||
|                 }, | ||||
|                 Err(err) => { | ||||
|                     if let MessageReceiverError::Disconnected = err { | ||||
|                         info!("[login recv loop disconnect] {:?}", server_id); | ||||
|                         state_loop_sender.send(InterserverInputAction::Disconnect(server_id)).await; | ||||
|                         state_loop_sender.send(InterserverInputAction::Disconnect(server_id)).await.unwrap(); | ||||
|                         break; | ||||
|                     } | ||||
|                     info!("[login recv loop err] {:?}", err); | ||||
| @ -200,7 +200,7 @@ pub fn login_listen_mainloop<EG: EntityGateway + 'static>(state: Arc<Mutex<Chara | ||||
|                 let mut state = state.lock().await; | ||||
|                 let local_sender = client_sender.clone(); | ||||
|                 state.set_sender(server_id, Box::new(move |message| { | ||||
|                     async_std::task::block_on(local_sender.send(message)); | ||||
|                     async_std::task::block_on(local_sender.send(message)).unwrap(); | ||||
|                 })) | ||||
|             } | ||||
| 
 | ||||
| @ -236,7 +236,7 @@ pub fn ship_connect_mainloop<EG: EntityGateway + 'static>(state: Arc<Mutex<ShipS | ||||
|                 let mut state = state.lock().await; | ||||
|                 let local_sender = client_sender.clone(); | ||||
|                 state.set_sender(Box::new(move |message| { | ||||
|                     async_std::task::block_on(local_sender.send(message)); | ||||
|                     async_std::task::block_on(local_sender.send(message)).unwrap(); | ||||
|                 })) | ||||
|             } | ||||
| 
 | ||||
|  | ||||
| @ -164,7 +164,7 @@ impl<EG: EntityGateway> ServerState for LoginServerState<EG> { | ||||
|         if let Some(username) = self.clients.remove(&id) { | ||||
|             if let Ok(mut user) = self.entity_gateway.get_user_by_name(username).await { | ||||
|                 user.at_login = false; | ||||
|                 self.entity_gateway.save_user(&user).await; | ||||
|                 self.entity_gateway.save_user(&user).await?; | ||||
|             } | ||||
|         } | ||||
|         Ok(Vec::new()) | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user