From f963d9c0b3a6fefb98f54cb0fed94ac4128faa9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maxime=20=E2=80=9Cpep=E2=80=9D=20Buquet?= Date: Thu, 28 Jul 2022 17:55:42 +0200 Subject: [PATCH] WIP: Try using xmpp.send_message in another select! branch MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Requires tokio-xmpp's xmpp-send-buffered-message branch (currently bc0b1684e), available in the repo. Signed-off-by: Maxime “pep” Buquet --- Cargo.toml | 1 + src/main.rs | 16 +++++----------- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 751d533..336560e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,6 +13,7 @@ dbus-tokio = "0.7.5" tokio = { version = "1.19.2", features = [ "time", "macros", "rt-multi-thread" ] } futures = "0.3" futures-util = "0.3" +tokio-xmpp = "3.2" xmpp = "0.3" xmpp-parsers = "0.19" log = "0.4" diff --git a/src/main.rs b/src/main.rs index 2fe9f3e..1c4e586 100644 --- a/src/main.rs +++ b/src/main.rs @@ -26,7 +26,6 @@ use std::env::args; use env_logger; -use futures_util::StreamExt; use tokio::{ task::JoinHandle, time::Duration, @@ -34,7 +33,7 @@ use tokio::{ use mmdbus::{ dbus::{ - message::MatchRule, + // message::MatchRule, nonblock::{ SyncConnection, Proxy, stdintf::org_freedesktop_dbus::ObjectManager, @@ -211,13 +210,7 @@ pub async fn main() -> Result<(), Error> { return Err(Error::InvalidArgs) } - // ModemManager - let dbus = DBus::connect()?; - - let mut interval = tokio::time::interval(Duration::from_secs(2)); - - let mr = MatchRule::new_signal("org.freedesktop.DBus.Properties", "PropertiesChanged"); - + let mut interval = tokio::time::interval(Duration::from_secs(5)); // XMPP let jid_str = args[1].as_str(); @@ -237,8 +230,9 @@ pub async fn main() -> Result<(), Error> { println!("Events: {:?}", events); }, _ = interval.tick() => { - let mm = ModemManager { dbus: dbus.clone() }; - let _ = print_foo(mm).await; + println!("Foo1"); + // Uncomment to have tokio-xmpp stall right after successful bind. + // xmpp.send_message(jid.clone(), MessageType::Chat, "en", "Bar").await; }, } }