aboutsummaryrefslogtreecommitdiffstats
path: root/lampada/src/connection/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'lampada/src/connection/mod.rs')
-rw-r--r--lampada/src/connection/mod.rs21
1 files changed, 12 insertions, 9 deletions
diff --git a/lampada/src/connection/mod.rs b/lampada/src/connection/mod.rs
index 2d570ae..a3dde16 100644
--- a/lampada/src/connection/mod.rs
+++ b/lampada/src/connection/mod.rs
@@ -8,7 +8,7 @@ use std::{
};
use jid::JID;
-use luz::{connection::Tls, jabber_stream::bound_stream::BoundJabberStream};
+use luz::jabber_stream::bound_stream::BoundJabberStream;
use read::{ReadControl, ReadControlHandle, ReadState};
use stanza::{client::Stanza, stream_error::Error as StreamError};
use tokio::{
@@ -86,13 +86,13 @@ impl<Lgc: Logic + Clone + Send + 'static> Supervisor<Lgc> {
info!("sent disconnect command");
tokio::select! {
_ = async { tokio::join!(
- async { let _ = (&mut self.write_control_handle.handle).await; },
- async { let _ = (&mut self.read_control_handle.handle).await; }
+ // async { let _ = (&mut self.write_control_handle.handle).await; },
+ // async { let _ = (&mut self.read_control_handle.handle).await; }
) } => {},
// TODO: config timeout
_ = async { tokio::time::sleep(Duration::from_secs(5)) } => {
- (&mut self.read_control_handle.handle).abort();
- (&mut self.write_control_handle.handle).abort();
+ // (&mut self.read_control_handle.handle).abort();
+ // (&mut self.write_control_handle.handle).abort();
}
}
info!("disconnected");
@@ -257,7 +257,8 @@ impl<Lgc: Logic + Clone + Send + 'static> Supervisor<Lgc> {
pub struct SupervisorHandle {
sender: SupervisorSender,
- handle: JoinHandle<()>,
+ // TODO: is not having handles fine?
+ // handle: JoinHandle<()>,
}
impl Deref for SupervisorHandle {
@@ -295,7 +296,7 @@ impl DerefMut for SupervisorSender {
impl SupervisorHandle {
pub fn new<Lgc: Logic + Clone + Send + 'static>(
- streams: BoundJabberStream<Tls>,
+ streams: BoundJabberStream,
on_crash: oneshot::Sender<()>,
jid: JID,
server: JID,
@@ -341,13 +342,15 @@ impl SupervisorHandle {
logic,
);
- let handle = tokio::spawn(async move { actor.run().await });
+ #[cfg(target_arch = "wasm32")]
+ wasm_bindgen_futures::spawn_local(async move { actor.run().await });
+ #[cfg(not(target_arch = "wasm32"))]
+ tokio::spawn(async move { actor.run().await });
(
write_handle,
Self {
sender: supervisor_sender,
- handle,
},
)
}