From 1bd23ab435e0a45bfbcc04eedeaae4c2dc7fb6ce Mon Sep 17 00:00:00 2001 From: Geoffrey Allott Date: Sat, 27 May 2023 22:10:06 +0100 Subject: [PATCH] apply clippy fixes --- src/game/mod.rs | 9 ++------- src/main.rs | 15 +++++---------- src/seats.rs | 2 +- src/server.rs | 14 +++++++------- 4 files changed, 15 insertions(+), 25 deletions(-) diff --git a/src/game/mod.rs b/src/game/mod.rs index 5e833d9..0d962a4 100644 --- a/src/game/mod.rs +++ b/src/game/mod.rs @@ -132,15 +132,10 @@ impl GameSummary { } } -#[derive(Copy, Clone, Debug, Serialize, Deserialize)] +#[derive(Copy, Clone, Debug, Default, Serialize, Deserialize)] #[serde(untagged)] enum StartCondition { + #[default] WhenFull, AtTime(Timestamp), } - -impl Default for StartCondition { - fn default() -> Self { - StartCondition::WhenFull - } -} diff --git a/src/main.rs b/src/main.rs index b2eaf1a..a37720f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -80,9 +80,10 @@ struct Args { command: Option, } -#[derive(Subcommand)] +#[derive(Default, Subcommand)] enum Command { /// Serve the website, websocket connections and start a dealer for each game (default) + #[default] All, /// Serve the website and websocket connections Server, @@ -94,12 +95,6 @@ enum Command { }, } -impl Default for Command { - fn default() -> Self { - Command::All - } -} - #[async_std::main] async fn main() -> Result<(), tide::Error> { let args = Args::parse(); @@ -145,7 +140,7 @@ async fn main() -> Result<(), tide::Error> { loop { if !first_attempt { - let signals = Signals::new(&[SIGINT])?; + let signals = Signals::new([SIGINT])?; let signal_handler = handle_signals(signals); info!("Attemping redis reconnect in {} seconds...", config.redis.connect_timeout_seconds); let sleep = sleep(Duration::from_secs(config.redis.connect_timeout_seconds)); @@ -157,7 +152,7 @@ async fn main() -> Result<(), tide::Error> { first_attempt = false; } - let signals = Signals::new(&[SIGINT])?; + let signals = Signals::new([SIGINT])?; let signal_handler = handle_signals(signals); const REGISTER_UPDATE_STREAM_CHANNEL_BUFFER: usize = 128; @@ -201,7 +196,7 @@ async fn main() -> Result<(), tide::Error> { let mut listener = ConcurrentListener::new(); for addrs in &config.server.bind { if let (Some(cert), Some(key)) = (&config.server.cert, &config.server.key) { - listener.add(TlsListener::build().addrs(addrs).cert(&cert).key(&key))?; + listener.add(TlsListener::build().addrs(addrs).cert(cert).key(key))?; } else { listener.add(addrs.to_listener()?)?; } diff --git a/src/seats.rs b/src/seats.rs index d959437..68ee4e8 100644 --- a/src/seats.rs +++ b/src/seats.rs @@ -98,7 +98,7 @@ impl Seats { } pub fn player_set(&self) -> HashSet { - self.players.iter().map(|(_, player)| *player).collect() + self.players.values().copied().collect() } pub fn seat_is_available(&self, seat: u32) -> bool { diff --git a/src/server.rs b/src/server.rs index 2cffae5..796698e 100644 --- a/src/server.rs +++ b/src/server.rs @@ -121,15 +121,15 @@ impl ServerState { pub async fn create_game(&mut self, settings: GameSettings) -> RedisResult { let now = self.now().await?; let id = self.redis.incr("game:next_id", 1).await?; - let () = self.redis.set(game_settings_key(id), AsJson(settings)).await?; + self.redis.set(game_settings_key(id), AsJson(settings)).await?; let GameStatus { created, completed, players, winner } = GameStatus::new(now); let status_key = game_status_key(id); - let () = self.redis.hset(&status_key, "created", AsJson(created)).await?; - let () = self.redis.hset(&status_key, "completed", AsJson(completed)).await?; - let () = self.redis.hset(&status_key, "players", AsJson(players)).await?; - let () = self.redis.hset(&status_key, "winner", AsJson(winner)).await?; - let () = self.redis.set(game_seed_key(id), AsJson(Seed::cha_cha_20_from_entropy())).await?; - let () = self.redis.rpush("game:list", id).await?; + self.redis.hset(&status_key, "created", AsJson(created)).await?; + self.redis.hset(&status_key, "completed", AsJson(completed)).await?; + self.redis.hset(&status_key, "players", AsJson(players)).await?; + self.redis.hset(&status_key, "winner", AsJson(winner)).await?; + self.redis.set(game_seed_key(id), AsJson(Seed::cha_cha_20_from_entropy())).await?; + self.redis.rpush("game:list", id).await?; Ok(id) } -- 2.34.1