equal
deleted
inserted
replaced
18 use slab::Slab; |
18 use slab::Slab; |
19 |
19 |
20 use crate::{ |
20 use crate::{ |
21 core::{server::HwServer, types::ClientId}, |
21 core::{server::HwServer, types::ClientId}, |
22 handlers, |
22 handlers, |
23 protocol::{messages::*, ProtocolDecoder}, |
23 handlers::{IoResult, IoTask}, |
|
24 protocol::{messages::*, messages::HwServerMessage::Redirect, ProtocolDecoder}, |
24 utils, |
25 utils, |
25 }; |
26 }; |
26 |
27 |
27 #[cfg(feature = "official-server")] |
28 #[cfg(feature = "official-server")] |
28 use super::io::{IoThread, RequestId}; |
29 use super::io::{IoThread, RequestId}; |
29 |
|
30 use crate::{ |
|
31 handlers::{IoResult, IoTask}, |
|
32 protocol::messages::HwServerMessage::Redirect, |
|
33 }; |
|
34 |
30 |
35 #[cfg(feature = "tls-connections")] |
31 #[cfg(feature = "tls-connections")] |
36 use openssl::{ |
32 use openssl::{ |
37 error::ErrorStack, |
33 error::ErrorStack, |
38 ssl::{ |
34 ssl::{ |
454 } |
450 } |
455 Ok(()) |
451 Ok(()) |
456 } |
452 } |
457 |
453 |
458 #[cfg(feature = "official-server")] |
454 #[cfg(feature = "official-server")] |
459 pub fn handle_io_result(&mut self) -> io::Result<()> { |
455 pub fn handle_io_result(&mut self, poll: &Poll) -> io::Result<()> { |
460 if let Some((client_id, result)) = self.io.try_recv() { |
456 while let Some((client_id, result)) = self.io.try_recv() { |
|
457 debug!("Handling io result {:?} for client {}", result, client_id); |
461 let mut response = handlers::Response::new(client_id); |
458 let mut response = handlers::Response::new(client_id); |
462 handlers::handle_io_result(&mut self.server, client_id, &mut response, result); |
459 handlers::handle_io_result(&mut self.server, client_id, &mut response, result); |
|
460 self.handle_response(response, poll); |
463 } |
461 } |
464 Ok(()) |
462 Ok(()) |
465 } |
463 } |
466 |
464 |
467 fn create_client_socket(&self, socket: TcpStream) -> io::Result<ClientSocket> { |
465 fn create_client_socket(&self, socket: TcpStream) -> io::Result<ClientSocket> { |