rust/hedgewars-server/src/handlers/inlobby.rs
changeset 15804 747278149393
parent 15533 0606f89698e7
child 15848 3d05bada4799
equal deleted inserted replaced
15803:b06b33cf0a89 15804:747278149393
     1 use super::{common::rnd_reply, strings::*};
     1 use super::{common::rnd_reply, strings::*};
       
     2 use crate::handlers::actions::ToPendingMessage;
     2 use crate::{
     3 use crate::{
     3     core::{
     4     core::{
     4         client::HwClient,
     5         client::HwClient,
     5         server::{AccessError, CreateRoomError, HwServer, JoinRoomError},
     6         server::{AccessError, CreateRoomError, HwServer, JoinRoomError},
     6         types::{ClientId, ServerVar},
     7         types::ClientId,
     7     },
     8     },
     8     protocol::messages::{
     9     utils::is_name_illegal,
       
    10 };
       
    11 use hedgewars_network_protocol::{
       
    12     messages::{
     9         add_flags, remove_flags, server_chat, HwProtocolMessage, HwServerMessage::*,
    13         add_flags, remove_flags, server_chat, HwProtocolMessage, HwServerMessage::*,
    10         ProtocolFlags as Flags,
    14         ProtocolFlags as Flags,
    11     },
    15     },
    12     utils::is_name_illegal,
    16     types::ServerVar,
    13 };
    17 };
    14 use log::*;
    18 use log::*;
    15 use std::{collections::HashSet, convert::identity};
    19 use std::{collections::HashSet, convert::identity};
    16 
    20 
    17 pub fn handle(
    21 pub fn handle(
    18     server: &mut HwServer,
    22     server: &mut HwServer,
    19     client_id: ClientId,
    23     client_id: ClientId,
    20     response: &mut super::Response,
    24     response: &mut super::Response,
    21     message: HwProtocolMessage,
    25     message: HwProtocolMessage,
    22 ) {
    26 ) {
    23     use crate::protocol::messages::HwProtocolMessage::*;
    27     use hedgewars_network_protocol::messages::HwProtocolMessage::*;
    24 
    28 
    25     match message {
    29     match message {
    26         CreateRoom(name, password) => match server.create_room(client_id, name, password) {
    30         CreateRoom(name, password) => match server.create_room(client_id, name, password) {
    27             Err(CreateRoomError::InvalidName) => response.warn(ILLEGAL_ROOM_NAME),
    31             Err(CreateRoomError::InvalidName) => response.warn(ILLEGAL_ROOM_NAME),
    28             Err(CreateRoomError::AlreadyExists) => response.warn(ROOM_EXISTS),
    32             Err(CreateRoomError::AlreadyExists) => response.warn(ROOM_EXISTS),