equal
deleted
inserted
replaced
13 str, |
13 str, |
14 str::{FromStr, Utf8Error}, |
14 str::{FromStr, Utf8Error}, |
15 }; |
15 }; |
16 |
16 |
17 use super::messages::{HWProtocolMessage, HWProtocolMessage::*}; |
17 use super::messages::{HWProtocolMessage, HWProtocolMessage::*}; |
18 use crate::server::coretypes::{GameCfg, HedgehogInfo, TeamInfo, VoteType, MAX_HEDGEHOGS_PER_TEAM}; |
18 use crate::server::coretypes::{ |
|
19 GameCfg, HedgehogInfo, ServerVar, TeamInfo, VoteType, MAX_HEDGEHOGS_PER_TEAM, |
|
20 }; |
19 |
21 |
20 #[derive(Debug, PartialEq)] |
22 #[derive(Debug, PartialEq)] |
21 pub struct HWProtocolError {} |
23 pub struct HWProtocolError {} |
22 |
24 |
23 impl HWProtocolError { |
25 impl HWProtocolError { |
367 )), |
369 )), |
368 )?; |
370 )?; |
369 Ok((i, Cfg(cfg))) |
371 Ok((i, Cfg(cfg))) |
370 } |
372 } |
371 |
373 |
|
374 fn server_var_message(input: &[u8]) -> HWResult<HWProtocolMessage> { |
|
375 precededc( |
|
376 input, |
|
377 hw_tag("SET_SERVER_VAR\n"), |
|
378 alt(( |
|
379 |i| { |
|
380 precededc(i, hw_tag("MOTD_NEW\n"), a_line) |
|
381 .map(|(i, s)| (i, SetServerVar(ServerVar::MOTDNew(s)))) |
|
382 }, |
|
383 |i| { |
|
384 precededc(i, hw_tag("MOTD_OLD\n"), a_line) |
|
385 .map(|(i, s)| (i, SetServerVar(ServerVar::MOTDOld(s)))) |
|
386 }, |
|
387 |i| { |
|
388 precededc(i, hw_tag("LATEST_PROTO\n"), u16_line) |
|
389 .map(|(i, n)| (i, SetServerVar(ServerVar::LatestProto(n)))) |
|
390 }, |
|
391 )), |
|
392 ) |
|
393 } |
|
394 |
372 fn complex_message(input: &[u8]) -> HWResult<HWProtocolMessage> { |
395 fn complex_message(input: &[u8]) -> HWResult<HWProtocolMessage> { |
373 alt(( |
396 alt(( |
374 |i| { |
397 |i| { |
375 precededc( |
398 precededc( |
376 i, |
399 i, |
525 alt(( |
548 alt(( |
526 no_arg_message, |
549 no_arg_message, |
527 single_arg_message, |
550 single_arg_message, |
528 cmd_message, |
551 cmd_message, |
529 config_message, |
552 config_message, |
|
553 server_var_message, |
530 complex_message, |
554 complex_message, |
531 )), |
555 )), |
532 end_of_message, |
556 end_of_message, |
533 ) |
557 ) |
534 }, |
558 }, |