gameServer2/src/utils.rs
changeset 13423 87a6cad20c90
parent 13416 cdf69667593b
child 13524 5359ff75da3a
equal deleted inserted replaced
13422:5fb27f94fc3b 13423:87a6cad20c90
       
     1 use std::iter::Iterator;
     1 use mio;
     2 use mio;
       
     3 use base64::{encode};
     2 
     4 
     3 pub const PROTOCOL_VERSION : u32 = 3;
     5 pub const PROTOCOL_VERSION : u32 = 3;
     4 pub const SERVER: mio::Token = mio::Token(1000000000 + 0);
     6 pub const SERVER: mio::Token = mio::Token(1000000000 + 0);
     5 
     7 
     6 pub fn is_name_illegal(name: &str ) -> bool{
     8 pub fn is_name_illegal(name: &str ) -> bool{
     8         name.trim().is_empty() ||
    10         name.trim().is_empty() ||
     9         name.chars().any(|c|
    11         name.chars().any(|c|
    10             "$()*+?[]^{|}\x7F".contains(c) ||
    12             "$()*+?[]^{|}\x7F".contains(c) ||
    11                 '\x00' <= c && c <= '\x1F')
    13                 '\x00' <= c && c <= '\x1F')
    12 }
    14 }
       
    15 
       
    16 pub fn to_engine_msg<T>(msg: T) -> String
       
    17     where T: Iterator<Item = u8> + Clone
       
    18 {
       
    19     let mut tmp = Vec::new();
       
    20     tmp.push(msg.clone().count() as u8);
       
    21     tmp.extend(msg);
       
    22     encode(&tmp)
       
    23 }