fn poll()

in dubbo/src/triple/transport/resolver/dns.rs [57:75]


    fn poll(
        mut self: std::pin::Pin<&mut Self>,
        cx: &mut std::task::Context<'_>,
    ) -> Poll<Self::Output> {
        Pin::new(&mut self.inner).poll(cx).map(|res| match res {
            Ok(Ok(v)) => Ok(v),
            Ok(Err(err)) => Err(err),
            Err(join_err) => {
                if join_err.is_cancelled() {
                    Err(std::io::Error::new(
                        std::io::ErrorKind::Interrupted,
                        join_err,
                    ))
                } else {
                    panic!("dnsfuture poll failed: {:?}", join_err)
                }
            }
        })
    }