diff options
| -rw-r--r-- | talpid-core/src/resolver.rs | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/talpid-core/src/resolver.rs b/talpid-core/src/resolver.rs index b9ea1cb44e..7449b7ed8d 100644 --- a/talpid-core/src/resolver.rs +++ b/talpid-core/src/resolver.rs @@ -16,7 +16,6 @@ use std::{ use futures::{ channel::{mpsc, oneshot}, - future::Either, SinkExt, StreamExt, }; @@ -171,16 +170,19 @@ impl Resolver { query: LowerQuery, tx: oneshot::Sender<std::result::Result<Box<dyn LookupObject>, ResolveError>>, ) { - let lookup = match self { - Resolver::Blocking => Either::Left(async move { Self::resolve_blocked(query) }), + match self { + Resolver::Blocking => { + let _ = tx.send(Self::resolve_blocked(query)); + } Resolver::Forwarding(resolver) => { - Either::Right(Self::resolve_forward(resolver.clone(), query)) + let resolver = resolver.clone(); + tokio::spawn(async move { + let lookup = Self::resolve_forward(resolver, query); + let _ = tx.send(lookup.await); + }); } }; - tokio::spawn(async move { - let _ = tx.send(lookup.await); - }); } /// Resolution in blocked state will return spoofed records for captive portal domains. |
