gameServer2/src/server/actions.rs
changeset 12145 a482c7a5f6e3
parent 12144 589a2d7d3dc5
child 12146 8d8fb85bc09c
equal deleted inserted replaced
12144:589a2d7d3dc5 12145:a482c7a5f6e3
    10 pub enum Action {
    10 pub enum Action {
    11     SendMe(String),
    11     SendMe(String),
    12     RemoveClient,
    12     RemoveClient,
    13     ByeClient(String),
    13     ByeClient(String),
    14     ReactProtocolMessage(HWProtocolMessage),
    14     ReactProtocolMessage(HWProtocolMessage),
       
    15     CheckRegistered,
       
    16     JoinLobby,
    15 }
    17 }
    16 
    18 
    17 use self::Action::*;
    19 use self::Action::*;
    18 
    20 
    19 pub fn run_action(server: &mut HWServer, token: mio::Token, poll: &mio::Poll, action: Action) {
    21 pub fn run_action(server: &mut HWServer, token: mio::Token, poll: &mio::Poll, action: Action) {
    30             server.clients[token].deregister(poll);
    32             server.clients[token].deregister(poll);
    31             server.clients.remove(token);
    33             server.clients.remove(token);
    32         },
    34         },
    33         ReactProtocolMessage(msg) =>
    35         ReactProtocolMessage(msg) =>
    34             handlers::handle(server, token, poll, msg),
    36             handlers::handle(server, token, poll, msg),
       
    37         CheckRegistered =>
       
    38             if server.clients[token].protocolNumber > 0 && server.clients[token].nick != "" {
       
    39             server.react(token, poll, vec![
       
    40                 JoinLobby,
       
    41                 ]);
       
    42         },
       
    43         JoinLobby => {
       
    44             let msg_string = LobbyJoined(&[&server.clients[token].nick]).to_raw_protocol();
       
    45             server.react(token, poll, vec![
       
    46                 SendMe(msg_string),
       
    47                 ]);
       
    48         },
    35         //_ => unimplemented!(),
    49         //_ => unimplemented!(),
    36     }
    50     }
    37 }
    51 }