diff --git a/rust/client-shared/src/lib.rs b/rust/client-shared/src/lib.rs index cdc0f1ee5..6804a7379 100644 --- a/rust/client-shared/src/lib.rs +++ b/rust/client-shared/src/lib.rs @@ -8,6 +8,7 @@ pub use firezone_tunnel::messages::client::{IngressMessages, ResourceDescription use anyhow::Result; use connlib_model::{ResourceId, ResourceView}; use eventloop::{Command, Eventloop}; +use futures::future::Fuse; use futures::{FutureExt, StreamExt}; use phoenix_channel::{PhoenixChannel, PublicKeyParam}; use socket_factory::{SocketFactory, TcpSocket, UdpSocket}; @@ -38,7 +39,7 @@ pub struct Session { #[derive(Debug)] pub struct EventStream { - eventloop: JoinHandle>, + eventloop: Fuse>>, resource_list_receiver: WatchStream>, tun_config_receiver: WatchStream>, } @@ -81,7 +82,7 @@ impl Session { ( Self { channel: cmd_tx }, EventStream { - eventloop, + eventloop: eventloop.fuse(), resource_list_receiver: WatchStream::from_changes(resource_list_receiver), tun_config_receiver: WatchStream::from_changes(tun_config_receiver), },