Pass first argument to msg! as a unquoted literal
This commit is contained in:
parent
ab3c28ff37
commit
3ab9cedbcd
@ -62,7 +62,7 @@ impl Client {
|
|||||||
let game_controller = Arc::new(Mutex::new(game_controller));
|
let game_controller = Arc::new(Mutex::new(game_controller));
|
||||||
self.global_state.rooms.lock().await.insert(room_code.clone(), Arc::clone(&game_controller));
|
self.global_state.rooms.lock().await.insert(room_code.clone(), Arc::clone(&game_controller));
|
||||||
tokio::spawn(async move {game_loop(game_controller)});
|
tokio::spawn(async move {game_loop(game_controller)});
|
||||||
self.ws.send(msg!("ROOM_CODE", room_code)).await.unwrap();
|
self.ws.send(msg!(ROOM_CODE, room_code)).await.unwrap();
|
||||||
}
|
}
|
||||||
"JOIN" => {
|
"JOIN" => {
|
||||||
let room_code = &msg.args[0];
|
let room_code = &msg.args[0];
|
||||||
@ -75,10 +75,10 @@ impl Client {
|
|||||||
let (client_channel, server_channel) = channel_pair();
|
let (client_channel, server_channel) = channel_pair();
|
||||||
self.channel = Some(client_channel);
|
self.channel = Some(client_channel);
|
||||||
room.channels.push(server_channel);
|
room.channels.push(server_channel);
|
||||||
self.ws.send(msg!("JOIN_OK")).await.unwrap();
|
self.ws.send(msg!(JOIN_OK)).await.unwrap();
|
||||||
}
|
}
|
||||||
None => {
|
None => {
|
||||||
self.ws.send(msg!("JOIN_INVALID")).await.unwrap();
|
self.ws.send(msg!(JOIN_INVALID)).await.unwrap();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -83,16 +83,16 @@ impl MessageWebSocket {
|
|||||||
|
|
||||||
#[macro_export]
|
#[macro_export]
|
||||||
macro_rules! msg {
|
macro_rules! msg {
|
||||||
( $command:expr) => {
|
( $command:ident) => {
|
||||||
{
|
{
|
||||||
let command = $command.to_string();
|
let command = stringify!($command).to_string();
|
||||||
let args = vec![];
|
let args = vec![];
|
||||||
Message { command, args }
|
Message { command, args }
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
( $command:expr, $( $arg:expr ),*) => {
|
( $command:ident, $( $arg:expr ),*) => {
|
||||||
{
|
{
|
||||||
let command = $command.to_string();
|
let command = stringify!($command).to_string();
|
||||||
let args = vec![$($arg.to_string()),*];
|
let args = vec![$($arg.to_string()),*];
|
||||||
Message { command, args }
|
Message { command, args }
|
||||||
}
|
}
|
||||||
@ -117,12 +117,12 @@ mod test {
|
|||||||
fn test_parse() -> Result<()> {
|
fn test_parse() -> Result<()> {
|
||||||
let text = "COMMAND: arg1, arg2";
|
let text = "COMMAND: arg1, arg2";
|
||||||
let msg = Message::parse(text.to_string())?;
|
let msg = Message::parse(text.to_string())?;
|
||||||
assert_eq!(msg!("COMMAND", "arg1", "arg2"), msg);
|
assert_eq!(msg!(COMMAND, "arg1", "arg2"), msg);
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
#[test]
|
#[test]
|
||||||
fn test_to_string() {
|
fn test_to_string() {
|
||||||
let msg = msg!("COMMAND", "arg1", "arg2");
|
let msg = msg!(COMMAND, "arg1", "arg2");
|
||||||
assert_eq!(msg.to_string(), "COMMAND: arg1, arg2".to_string());
|
assert_eq!(msg.to_string(), "COMMAND: arg1, arg2".to_string());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user