rust/hedgewars-network-protocol/src/messages.rs
changeset 15811 a855f32ab3ca
parent 15810 ee84e417d8d0
child 15830 ea459da15b30
equal deleted inserted replaced
15810:ee84e417d8d0 15811:a855f32ab3ca
    60     ForceVote(bool),
    60     ForceVote(bool),
    61     Save(String, String),
    61     Save(String, String),
    62     Delete(String),
    62     Delete(String),
    63     SaveRoom(String),
    63     SaveRoom(String),
    64     LoadRoom(String),
    64     LoadRoom(String),
       
    65     CheckerReady,
       
    66     CheckedOk(Vec<String>),
       
    67     CheckedFail(String),
    65 }
    68 }
    66 
    69 
    67 #[derive(Debug, Clone, Copy)]
    70 #[derive(Debug, Clone, Copy)]
    68 pub enum ProtocolFlags {
    71 pub enum ProtocolFlags {
    69     InRoom,
    72     InRoom,
   149     ServerMessage(String),
   152     ServerMessage(String),
   150     ServerVars(Vec<String>),
   153     ServerVars(Vec<String>),
   151     Notice(String),
   154     Notice(String),
   152     Warning(String),
   155     Warning(String),
   153     Error(String),
   156     Error(String),
       
   157 
       
   158     Replay(Vec<String>),
   154 
   159 
   155     //Deprecated messages
   160     //Deprecated messages
   156     LegacyReady(bool, Vec<String>),
   161     LegacyReady(bool, Vec<String>),
   157 }
   162 }
   158 
   163 
   350             ForceVote(msg) => msg!["CMD", format!("FORCE {}", if *msg { "YES" } else { "NO" })],
   355             ForceVote(msg) => msg!["CMD", format!("FORCE {}", if *msg { "YES" } else { "NO" })],
   351             Save(name, location) => msg!["CMD", format!("SAVE {} {}", name, location)],
   356             Save(name, location) => msg!["CMD", format!("SAVE {} {}", name, location)],
   352             Delete(name) => msg!["CMD", format!("DELETE {}", name)],
   357             Delete(name) => msg!["CMD", format!("DELETE {}", name)],
   353             SaveRoom(name) => msg!["CMD", format!("SAVEROOM {}", name)],
   358             SaveRoom(name) => msg!["CMD", format!("SAVEROOM {}", name)],
   354             LoadRoom(name) => msg!["CMD", format!("LOADROOM {}", name)],
   359             LoadRoom(name) => msg!["CMD", format!("LOADROOM {}", name)],
       
   360             CheckerReady => msg!["READY"],
       
   361             CheckedOk(args) => msg!["CHECKED", "OK", args.join("\n")],
       
   362             CheckedFail(message) => msg!["CHECKED", "FAIL", message],
   355         }
   363         }
   356     }
   364     }
   357 }
   365 }
   358 
   366 
   359 fn construct_message(header: &[&str], msg: &[String]) -> String {
   367 fn construct_message(header: &[&str], msg: &[String]) -> String {
   403             ServerVars(vars) => construct_message(&["SERVER_VARS"], &vars),
   411             ServerVars(vars) => construct_message(&["SERVER_VARS"], &vars),
   404             Notice(msg) => msg!["NOTICE", msg],
   412             Notice(msg) => msg!["NOTICE", msg],
   405             Warning(msg) => msg!["WARNING", msg],
   413             Warning(msg) => msg!["WARNING", msg],
   406             Error(msg) => msg!["ERROR", msg],
   414             Error(msg) => msg!["ERROR", msg],
   407             ReplayStart => msg!["REPLAY_START"],
   415             ReplayStart => msg!["REPLAY_START"],
       
   416             Replay(em) => construct_message(&["REPLAY"], &em),
   408 
   417 
   409             LegacyReady(is_ready, nicks) => {
   418             LegacyReady(is_ready, nicks) => {
   410                 construct_message(&[if *is_ready { "READY" } else { "NOT_READY" }], &nicks)
   419                 construct_message(&[if *is_ready { "READY" } else { "NOT_READY" }], &nicks)
   411             }
   420             }
   412         }
   421         }