rust/hedgewars-network-protocol/src/messages.rs
changeset 16120 5febd2bc5372
parent 15852 ea459da15b30
equal deleted inserted replaced
16119:278533359a93 16120:5febd2bc5372
     1 use crate::types::{GameCfg, ServerVar, TeamInfo, VoteType};
     1 use crate::types::{GameCfg, ServerVar, TeamInfo, VoteType};
     2 use std::iter::once;
     2 use std::iter::once;
       
     3 
       
     4 //todo!("add help message")
     3 
     5 
     4 #[derive(PartialEq, Eq, Clone, Debug)]
     6 #[derive(PartialEq, Eq, Clone, Debug)]
     5 pub enum HwProtocolMessage {
     7 pub enum HwProtocolMessage {
     6     // common messages
     8     // common messages
     7     Ping,
     9     Ping,
    11     Watch(u32),
    13     Watch(u32),
    12     ToggleServerRegisteredOnly,
    14     ToggleServerRegisteredOnly,
    13     SuperPower,
    15     SuperPower,
    14     Info(String),
    16     Info(String),
    15     // anteroom messages
    17     // anteroom messages
    16     Nick(String),
    18     Nick(String, Option<String>),
    17     Proto(u16),
    19     Proto(u16),
    18     Password(String, String),
    20     Password(String, String),
    19     Checker(u16, String, String),
    21     Checker(u16, String, String),
    20     // lobby messages
    22     // lobby messages
    21     List,
    23     List,
    50     ToggleRegisteredOnly,
    52     ToggleRegisteredOnly,
    51     RoomName(String),
    53     RoomName(String),
    52     Delegate(String),
    54     Delegate(String),
    53     TeamChat(String),
    55     TeamChat(String),
    54     MaxTeams(u8),
    56     MaxTeams(u8),
       
    57     //command line messages
    55     Fix,
    58     Fix,
    56     Unfix,
    59     Unfix,
    57     Greeting(Option<String>),
    60     Greeting(Option<String>),
    58     CallVote(Option<VoteType>),
    61     CallVote(Option<VoteType>),
    59     Vote(bool),
    62     Vote(bool),
   118     Ping,
   121     Ping,
   119     Pong,
   122     Pong,
   120     Bye(String),
   123     Bye(String),
   121 
   124 
   122     Nick(String),
   125     Nick(String),
       
   126     Token(String),
   123     Proto(u16),
   127     Proto(u16),
   124     AskPassword(String),
   128     AskPassword(String),
   125     ServerAuth(String),
   129     ServerAuth(String),
   126     LogonPassed,
   130     LogonPassed,
   127 
   131 
   279             Global(msg) => msg!["CMD", format!("GLOBAL {}", msg)],
   283             Global(msg) => msg!["CMD", format!("GLOBAL {}", msg)],
   280             Watch(name) => msg!["CMD", format!("WATCH {}", name)],
   284             Watch(name) => msg!["CMD", format!("WATCH {}", name)],
   281             ToggleServerRegisteredOnly => msg!["CMD", "REGISTERED_ONLY"],
   285             ToggleServerRegisteredOnly => msg!["CMD", "REGISTERED_ONLY"],
   282             SuperPower => msg!["CMD", "SUPER_POWER"],
   286             SuperPower => msg!["CMD", "SUPER_POWER"],
   283             Info(info) => msg!["CMD", format!("INFO {}", info)],
   287             Info(info) => msg!["CMD", format!("INFO {}", info)],
   284             Nick(nick) => msg!("NICK", nick),
   288             Nick(nick, None) => msg!["NICK", nick],
       
   289             Nick(nick, Some(token)) => msg!["NICK", nick, token],
   285             Proto(version) => msg!["PROTO", version],
   290             Proto(version) => msg!["PROTO", version],
   286             Password(p, s) => msg!["PASSWORD", p, s],
   291             Password(p, s) => msg!["PASSWORD", p, s],
   287             Checker(i, n, p) => msg!["CHECKER", i, n, p],
   292             Checker(i, n, p) => msg!["CHECKER", i, n, p],
   288             List => msg!["LIST"],
   293             List => msg!["LIST"],
   289             Chat(msg) => msg!["CHAT", msg],
   294             Chat(msg) => msg!["CHAT", msg],
   379             Pong => msg!["PONG"],
   384             Pong => msg!["PONG"],
   380             Connected(message, protocol_version) => msg!["CONNECTED", message, protocol_version],
   385             Connected(message, protocol_version) => msg!["CONNECTED", message, protocol_version],
   381             Redirect(port) => msg!["REDIRECT", port],
   386             Redirect(port) => msg!["REDIRECT", port],
   382             Bye(msg) => msg!["BYE", msg],
   387             Bye(msg) => msg!["BYE", msg],
   383             Nick(nick) => msg!["NICK", nick],
   388             Nick(nick) => msg!["NICK", nick],
       
   389             Token(token) => msg!["TOKEN", token],
   384             Proto(proto) => msg!["PROTO", proto],
   390             Proto(proto) => msg!["PROTO", proto],
   385             AskPassword(salt) => msg!["ASKPASSWORD", salt],
   391             AskPassword(salt) => msg!["ASKPASSWORD", salt],
   386             ServerAuth(hash) => msg!["SERVER_AUTH", hash],
   392             ServerAuth(hash) => msg!["SERVER_AUTH", hash],
   387             LogonPassed => msg!["LOGONPASSED"],
   393             LogonPassed => msg!["LOGONPASSED"],
   388             LobbyLeft(nick, msg) => msg!["LOBBY:LEFT", nick, msg],
   394             LobbyLeft(nick, msg) => msg!["LOBBY:LEFT", nick, msg],