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)
}
}
})
}