From 27f6dfe34543c84d00fc60e850691111e4229c1b Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sun, 3 Jan 2021 02:17:01 +0000 Subject: [PATCH] break out ConnForGame::info Signed-off-by: Ian Jackson --- src/bin/otter.rs | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/bin/otter.rs b/src/bin/otter.rs index c0faf783..fb95544c 100644 --- a/src/bin/otter.rs +++ b/src/bin/otter.rs @@ -549,16 +549,22 @@ impl ConnForGame { responses } + #[throws(AE)] + fn info(&mut self) -> MgmtGameResponseGameInfo { + let resp = self.alter_game(vec![MGI::Info], None)?; + match &resp[..] { + [MGR::Info(info)] => info.clone(), + x => throw!(anyhow!("unexpected response to game Info: {:?}", &x)), + } + } + #[throws(AE)] fn we_are_player(&mut self, ma: &MainOpts) -> Option<(PlayerId, MgmtPlayerInfo)> { let players = { - let resp = self.alter_game(vec![MGI::Info], None)?; - match resp.as_slice() { - [MGR::Info(MgmtGameResponseGameInfo { players, .. })] => players, - x => throw!(anyhow!("unexpected response to game Info: {:?}", &x)), - }.clone() + let MgmtGameResponseGameInfo { players, .. } = self.info()?; + players }; players.into_iter().filter( -- 2.30.2