mirror of
https://github.com/darkrenaissance/darkfi.git
synced 2026-04-28 03:00:18 -04:00
wallet: p2p broadcast event when sending
This commit is contained in:
@@ -19,7 +19,11 @@
|
||||
use std::sync::{Arc, Mutex as SyncMutex};
|
||||
|
||||
use darkfi::{
|
||||
event_graph::{self, proto::ProtocolEventGraph, EventGraph, EventGraphPtr},
|
||||
event_graph::{
|
||||
self,
|
||||
proto::{EventPut, ProtocolEventGraph},
|
||||
EventGraph, EventGraphPtr,
|
||||
},
|
||||
net::{session::SESSION_DEFAULT, settings::Settings as NetSettings, P2p, P2pPtr},
|
||||
system::{sleep, Subscription},
|
||||
Error,
|
||||
@@ -189,11 +193,19 @@ impl DarkIrcBackend {
|
||||
}
|
||||
|
||||
pub async fn send(&self, privmsg: Privmsg) {
|
||||
let evgr =
|
||||
self.0.lock().unwrap().as_ref().expect("backend wasnt started").event_graph.clone();
|
||||
let (p2p, evgr) = {
|
||||
let self_ = self.0.lock().unwrap();
|
||||
let data = self_.as_ref().expect("backend wasnt started");
|
||||
|
||||
let evgr = data.event_graph.clone();
|
||||
let p2p = data.p2p.clone();
|
||||
(p2p, evgr)
|
||||
};
|
||||
let event = event_graph::Event::new(serialize_async(&privmsg).await, &evgr).await;
|
||||
if let Err(e) = evgr.dag_insert(&[event]).await {
|
||||
if let Err(e) = evgr.dag_insert(&[event.clone()]).await {
|
||||
error!(target: "darkirc", "Failed inserting new event to DAG: {}", e);
|
||||
}
|
||||
|
||||
p2p.broadcast(&EventPut(event)).await;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user