rust/hedgewars-server/src/main.rs
changeset 14921 8750530bf7e7
parent 14835 8ddb5842fe0b
child 15079 c5a6e8566425
equal deleted inserted replaced
14920:a3ad06ac390e 14921:8750530bf7e7
    68 
    68 
    69         for event in events.iter() {
    69         for event in events.iter() {
    70             if event.readiness() & Ready::readable() == Ready::readable() {
    70             if event.readiness() & Ready::readable() == Ready::readable() {
    71                 match event.token() {
    71                 match event.token() {
    72                     token @ utils::SERVER_TOKEN | token @ utils::SECURE_SERVER_TOKEN => {
    72                     token @ utils::SERVER_TOKEN | token @ utils::SECURE_SERVER_TOKEN => {
    73                         hw_network.accept_client(&poll, token).unwrap()
    73                         match hw_network.accept_client(&poll, token) {
       
    74                             Ok(()) => (),
       
    75                             Err(e) => debug!("Error accepting client: {}", e),
       
    76                         }
    74                     }
    77                     }
    75                     utils::TIMER_TOKEN => hw_network.handle_timeout(&poll).unwrap(),
    78                     utils::TIMER_TOKEN => match hw_network.handle_timeout(&poll) {
       
    79                         Ok(()) => (),
       
    80                         Err(e) => debug!("Error in timer event: {}", e),
       
    81                     },
    76                     #[cfg(feature = "official-server")]
    82                     #[cfg(feature = "official-server")]
    77                     utils::IO_TOKEN => hw_network.handle_io_result(),
    83                     utils::IO_TOKEN => match hw_network.handle_io_result() {
    78                     Token(tok) => hw_network.client_readable(&poll, tok).unwrap(),
    84                         Ok(()) => (),
       
    85                         Err(e) => debug!("Error in IO task: {}", e),
       
    86                     },
       
    87                     Token(token) => match hw_network.client_readable(&poll, token) {
       
    88                         Ok(()) => (),
       
    89                         Err(e) => debug!("Error reading from client socket {}: {}", token, e),
       
    90                     },
    79                 }
    91                 }
    80             }
    92             }
    81             if event.readiness() & Ready::writable() == Ready::writable() {
    93             if event.readiness() & Ready::writable() == Ready::writable() {
    82                 match event.token() {
    94                 match event.token() {
    83                     utils::SERVER_TOKEN | utils::TIMER_TOKEN | utils::IO_TOKEN => unreachable!(),
    95                     utils::SERVER_TOKEN
    84                     Token(tok) => hw_network.client_writable(&poll, tok).unwrap(),
    96                     | utils::SECURE_SERVER_TOKEN
       
    97                     | utils::TIMER_TOKEN
       
    98                     | utils::IO_TOKEN => unreachable!(),
       
    99                     Token(token) => match hw_network.client_writable(&poll, token) {
       
   100                         Ok(()) => (),
       
   101                         Err(e) => debug!("Error writing to client socket {}: {}", token, e),
       
   102                     },
    85                 }
   103                 }
    86             }
   104             }
    87             //            if event.kind().is_hup() || event.kind().is_error() {
       
    88             //                match event.token() {
       
    89             //                    utils::SERVER => unreachable!(),
       
    90             //                    Token(tok) => server.client_error(&poll, tok).unwrap(),
       
    91             //                }
       
    92             //            }
       
    93         }
   105         }
    94         hw_network.on_idle(&poll).unwrap();
   106 
       
   107         match hw_network.on_idle(&poll) {
       
   108             Ok(()) => (),
       
   109             Err(e) => debug!("Error in idle handler: {}", e),
       
   110         };
    95     }
   111     }
    96 }
   112 }