From bdba52936e9daeb43001dc47136a1b7cfbfca4d1 Mon Sep 17 00:00:00 2001 From: Deirdre Connolly Date: Tue, 12 Nov 2019 16:36:56 -0500 Subject: [PATCH] Unwrap address_book in call(), which relies on poll_ready giving a positive response first, otherwise panic Co-Authored-By: Henry de Valence --- zebrad/src/commands/seed.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/zebrad/src/commands/seed.rs b/zebrad/src/commands/seed.rs index 10de643d..bb8603d7 100644 --- a/zebrad/src/commands/seed.rs +++ b/zebrad/src/commands/seed.rs @@ -63,8 +63,14 @@ impl Service for SeedService { fn call(&mut self, req: Request) -> Self::Future { info!("SeedService handling a request: {:?}", req); - let response = match (req, &self.state) { - (Request::GetPeers, SeederState::Ready(address_book)) => { + let address_book = if let SeederState::Ready(address_book) = &self.state { + address_book + } else { + panic!("SeedService::call without SeedService::poll_ready"); + }; + + let response = match req { + Request::GetPeers => { debug!(address_book.len = address_book.lock().unwrap().len()); info!("SeedService responding to GetPeers"); Ok::(Response::Peers(