aboutsummaryrefslogtreecommitdiffstats
path: root/lampada/src/connection/mod.rs
diff options
context:
space:
mode:
authorLibravatar cel 🌸 <cel@bunny.garden>2025-04-13 16:45:53 +0100
committerLibravatar cel 🌸 <cel@bunny.garden>2025-04-13 16:45:53 +0100
commitcf51dcf052af89f8742d887bde2c93d735309bdd (patch)
treefb7d8b7a313511de845db6cfd186f3b87c472154 /lampada/src/connection/mod.rs
parent603777c5f4b3f8248378af6fe5af65b54e0f120e (diff)
downloadluz-cf51dcf052af89f8742d887bde2c93d735309bdd.tar.gz
luz-cf51dcf052af89f8742d887bde2c93d735309bdd.tar.bz2
luz-cf51dcf052af89f8742d887bde2c93d735309bdd.zip
feat(lampada): wasm + websockets support
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,
},
)
}