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 } |