Technical requirements 255 pin::Pin, task::{Context, Poll}, }; We have to do some minor refactoring in the poll implementation for Http Get Future. First, we need to change the signature of the poll function so it complies with the new Future trait: ch10/a-rust-futures/src/http. rs fn poll(mut self: Pin<&mut Self>, cx: &mut Context )-> Poll<Self::Output> Since we named the new argument cx, we have to change what we pass in to set_waker with the following: ch10/a-rust-futures/src/http. rs runtime::reactor(). set_waker( cx, self. id); Next, we need to change our future implementation so it returns Poll instead of Poll State. To do that, locate the poll method and start by changing the signature so it matches the Future trait from the standard library: ch10/a-rust-futures/src/http. rs fn poll(mut self: Pin<&mut Self>, cx: &mut Context)-> Poll<Self::Output> Next, we need to change our return types wherever we return from the function (I've only presented the relevant part of the function body here): ch10/a-rust-futures/src/http. rs loop { match self. stream. as_mut(). unwrap(). read(&mut buff) { Ok(0) => { let s = String::from_utf8_lossy(&self. buffer). to_string(); runtime::reactor(). deregister(self. stream. as_ mut(). unwrap(), id); break Poll::Ready(s. to_string()) ; } Ok(n) => { self. buffer. extend(&buff[0..n]);