summaryrefslogtreecommitdiffstats
path: root/gui/src
diff options
context:
space:
mode:
Diffstat (limited to 'gui/src')
-rw-r--r--gui/src/app/message.rs2
-rw-r--r--gui/src/app/mod.rs7
-rw-r--r--gui/src/gossip.rs14
3 files changed, 14 insertions, 9 deletions
diff --git a/gui/src/app/message.rs b/gui/src/app/message.rs
index f19a2dd..60d9433 100644
--- a/gui/src/app/message.rs
+++ b/gui/src/app/message.rs
@@ -18,6 +18,7 @@ pub enum Message {
ToggleLog,
+ GossipMessage(ipfs::PeerId, GossipMessage),
GossipSubscriptionFailed(String),
GossipHandled(GossipMessage),
@@ -47,6 +48,7 @@ impl Message {
Message::ToggleLog => "ToggleLog",
+ Message::GossipMessage(_, _) => "GossipMessage",
Message::GossipSubscriptionFailed(_) => "GossipSubscriptionFailed",
Message::GossipHandled(_) => "GossipHandled",
diff --git a/gui/src/app/mod.rs b/gui/src/app/mod.rs
index a1428cd..ac9e43d 100644
--- a/gui/src/app/mod.rs
+++ b/gui/src/app/mod.rs
@@ -183,6 +183,13 @@ impl Application for Distrox {
iced::Command::none()
}
+ Message::GossipMessage(source, msg) => {
+ log::trace!("Received Gossip from {}: {:?}", source, msg);
+ iced::Command::perform(async {
+ Message::GossipHandled(msg)
+ }, |m: Message| -> Message { m })
+ }
+
Message::GossipHandled(msg) => {
use distrox_lib::gossip::GossipMessage;
diff --git a/gui/src/gossip.rs b/gui/src/gossip.rs
index c88c29c..ae941f5 100644
--- a/gui/src/gossip.rs
+++ b/gui/src/gossip.rs
@@ -5,6 +5,8 @@ use tokio::sync::RwLock;
use distrox_lib::profile::Profile;
use distrox_lib::client::Client;
+use distrox_lib::gossip::GossipDeserializer;
+use distrox_lib::gossip::LogStrategy;
use crate::app::Message;
@@ -35,19 +37,13 @@ where
}
fn stream(self: Box<Self>, _input: futures::stream::BoxStream<'static, I>) -> futures::stream::BoxStream<'static, Self::Output> {
- use distrox_lib::gossip::deserializer;
- use distrox_lib::gossip::handler;
-
// TODO: Do "right", whatever this means...
let stream = Arc::try_unwrap(self.subscription).unwrap();
Box::pin({
- let stream = deserializer::GossipDeserializer::<deserializer::LogStrategy>::new().run(stream);
- let stream = handler::GossipHandler::<handler::LogStrategy>::new(self.profile.clone()).run(stream);
-
- stream.map(|(gossip_message, _handling_result)| {
- Message::GossipHandled(gossip_message)
- })
+ GossipDeserializer::<LogStrategy>::new()
+ .run(stream)
+ .map(|(source, msg)| Message::GossipMessage(source, msg))
})
}
}