summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--talpid-core/src/resolver.rs16
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.