# HG changeset patch # User unc0rr # Date 1486394129 -10800 # Node ID 44b06731278b1a3a08974b9825429ce565aa6f3b # Parent 8591375271b86a87a261bb442040d0200a8002a0 Fix handlers module diff -r 8591375271b8 -r 44b06731278b gameServer2/src/server/handlers.rs --- a/gameServer2/src/server/handlers.rs Mon Feb 06 17:54:27 2017 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,34 +0,0 @@ -use mio; -use std::io::Write; -use std::io; - -use super::server::HWServer; -use super::actions::Action; -use super::actions::Action::*; -use protocol::messages::HWProtocolMessage; -use protocol::messages::HWServerMessage::*; - -pub fn handle(server: &mut HWServer, token: mio::Token, poll: &mio::Poll, message: HWProtocolMessage) { - match message { - HWProtocolMessage::Ping => - server.react(token, poll, vec![SendMe(Pong.to_raw_protocol())]), - HWProtocolMessage::Quit(Some(msg)) => - server.react(token, poll, vec![ByeClient("User quit: ".to_string() + &msg)]), - HWProtocolMessage::Quit(None) => - server.react(token, poll, vec![ByeClient("User quit".to_string())]), - HWProtocolMessage::Nick(nick) => - if server.clients[token].room_id == None { - server.react(token, poll, vec![SendMe(Nick(&nick).to_raw_protocol())]); - server.clients[token].nick = nick; - server.react(token, poll, vec![CheckRegistered]); - }, - HWProtocolMessage::Proto(proto) => { - server.clients[token].protocol_number = proto; - server.react(token, poll, vec![CheckRegistered]); - }, - HWProtocolMessage::List => warn!("Deprecated LIST message received"), - HWProtocolMessage::Malformed => warn!("Malformed/unknown message"), - HWProtocolMessage::Empty => warn!("Empty message"), - _ => unimplemented!(), - } -} diff -r 8591375271b8 -r 44b06731278b gameServer2/src/server/handlers/mod.rs --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gameServer2/src/server/handlers/mod.rs Mon Feb 06 18:15:29 2017 +0300 @@ -0,0 +1,35 @@ +use mio; +use std::io::Write; +use std::io; + +use super::server::HWServer; +use super::actions::Action; +use super::actions::Action::*; +use protocol::messages::HWProtocolMessage; +use protocol::messages::HWServerMessage::*; + +mod loggingin; +mod lobby; +mod inroom; + +pub fn handle(server: &mut HWServer, token: mio::Token, poll: &mio::Poll, message: HWProtocolMessage) { + match message { + HWProtocolMessage::Ping => + server.react(token, poll, vec![SendMe(Pong.to_raw_protocol())]), + HWProtocolMessage::Quit(Some(msg)) => + server.react(token, poll, vec![ByeClient("User quit: ".to_string() + &msg)]), + HWProtocolMessage::Quit(None) => + server.react(token, poll, vec![ByeClient("User quit".to_string())]), + HWProtocolMessage::Malformed => warn!("Malformed/unknown message"), + HWProtocolMessage::Empty => warn!("Empty message"), + _ => { + if !server.clients[token].room_id.is_some() { + loggingin::handle(server, token, poll, message); + } else if server.clients[token].room_id == Some(server.lobby_id) { + lobby::handle(server, token, poll, message); + } else { + inroom::handle(server, token, poll, message); + } + }, + } +}