rust/hedgewars-network-protocol/src/messages.rs
changeset 15810 ee84e417d8d0
parent 15804 747278149393
child 15811 a855f32ab3ca
equal deleted inserted replaced
15809:c3971b38bbfa 15810:ee84e417d8d0
   105 #[inline]
   105 #[inline]
   106 pub fn remove_flags(flags: &[ProtocolFlags]) -> String {
   106 pub fn remove_flags(flags: &[ProtocolFlags]) -> String {
   107     ProtocolFlags::format('-', flags)
   107     ProtocolFlags::format('-', flags)
   108 }
   108 }
   109 
   109 
   110 #[derive(Debug)]
   110 #[derive(PartialEq, Eq, Clone, Debug)]
   111 pub enum HwServerMessage {
   111 pub enum HwServerMessage {
   112     Connected(u32),
   112     Connected(String, u32),
   113     Redirect(u16),
   113     Redirect(u16),
   114 
   114 
   115     Ping,
   115     Ping,
   116     Pong,
   116     Pong,
   117     Bye(String),
   117     Bye(String),
   149     ServerMessage(String),
   149     ServerMessage(String),
   150     ServerVars(Vec<String>),
   150     ServerVars(Vec<String>),
   151     Notice(String),
   151     Notice(String),
   152     Warning(String),
   152     Warning(String),
   153     Error(String),
   153     Error(String),
   154     Unreachable,
       
   155 
   154 
   156     //Deprecated messages
   155     //Deprecated messages
   157     LegacyReady(bool, Vec<String>),
   156     LegacyReady(bool, Vec<String>),
   158 }
   157 }
   159 
   158 
   368     pub fn to_raw_protocol(&self) -> String {
   367     pub fn to_raw_protocol(&self) -> String {
   369         use self::HwServerMessage::*;
   368         use self::HwServerMessage::*;
   370         match self {
   369         match self {
   371             Ping => msg!["PING"],
   370             Ping => msg!["PING"],
   372             Pong => msg!["PONG"],
   371             Pong => msg!["PONG"],
   373             Connected(protocol_version) => msg![
   372             Connected(message, protocol_version) => msg!["CONNECTED", message, protocol_version],
   374                 "CONNECTED",
       
   375                 "Hedgewars server https://www.hedgewars.org/",
       
   376                 protocol_version
       
   377             ],
       
   378             Redirect(port) => msg!["REDIRECT", port],
   373             Redirect(port) => msg!["REDIRECT", port],
   379             Bye(msg) => msg!["BYE", msg],
   374             Bye(msg) => msg!["BYE", msg],
   380             Nick(nick) => msg!["NICK", nick],
   375             Nick(nick) => msg!["NICK", nick],
   381             Proto(proto) => msg!["PROTO", proto],
   376             Proto(proto) => msg!["PROTO", proto],
   382             AskPassword(salt) => msg!["ASKPASSWORD", salt],
   377             AskPassword(salt) => msg!["ASKPASSWORD", salt],
   412             ReplayStart => msg!["REPLAY_START"],
   407             ReplayStart => msg!["REPLAY_START"],
   413 
   408 
   414             LegacyReady(is_ready, nicks) => {
   409             LegacyReady(is_ready, nicks) => {
   415                 construct_message(&[if *is_ready { "READY" } else { "NOT_READY" }], &nicks)
   410                 construct_message(&[if *is_ready { "READY" } else { "NOT_READY" }], &nicks)
   416             }
   411             }
   417 
   412         }
   418             _ => msg!["ERROR", "UNIMPLEMENTED"],
   413     }
   419         }
   414 }
   420     }
       
   421 }