rust/hedgewars-server/src/server/handlers.rs
changeset 14694 25c564f77b7d
parent 14693 6a2e13e36b7f
child 14696 8a45c90f4580
equal deleted inserted replaced
14693:6a2e13e36b7f 14694:25c564f77b7d
     1 use mio;
     1 use mio;
     2 use std::{io, io::Write};
     2 use std::{io, io::Write};
     3 
     3 
     4 use super::{actions::Destination, core::HWServer, coretypes::ClientId};
     4 use super::{
       
     5     actions::{Destination, DestinationRoom},
       
     6     core::HWServer,
       
     7     coretypes::ClientId,
       
     8 };
     5 use crate::{
     9 use crate::{
     6     protocol::messages::{HWProtocolMessage, HWServerMessage, HWServerMessage::*},
    10     protocol::messages::{HWProtocolMessage, HWServerMessage, HWServerMessage::*},
     7     server::actions::PendingMessage,
    11     server::actions::PendingMessage,
     8     utils,
    12     utils,
     9 };
    13 };
    79 ) -> Vec<ClientId> {
    83 ) -> Vec<ClientId> {
    80     let mut ids = match *destination {
    84     let mut ids = match *destination {
    81         Destination::ToSelf => vec![client_id],
    85         Destination::ToSelf => vec![client_id],
    82         Destination::ToId(id) => vec![id],
    86         Destination::ToId(id) => vec![id],
    83         Destination::ToAll {
    87         Destination::ToAll {
    84             room_id: Some(id), ..
    88             room_id: DestinationRoom::Lobby,
       
    89             ..
       
    90         } => server.lobby_clients(),
       
    91         Destination::ToAll {
       
    92             room_id: DestinationRoom::Room(id),
       
    93             ..
    85         } => server.room_clients(id),
    94         } => server.room_clients(id),
    86         Destination::ToAll {
    95         Destination::ToAll {
    87             protocol: Some(proto),
    96             protocol: Some(proto),
    88             ..
    97             ..
    89         } => server.protocol_clients(proto),
    98         } => server.protocol_clients(proto),