discv5_cli/server/services/
events.rs1use std::sync::Arc;
2
3use discv5::{Discv5, Event};
4
5pub async fn run(discv5: Arc<Discv5>) {
7 let mut event_stream = discv5.event_stream().await.unwrap();
8 loop {
9 match event_stream.recv().await {
10 Some(Event::SocketUpdated(addr)) => {
11 log::info!("Nodes ENR socket address has been updated to: {:?}", addr);
12 }
13 Some(Event::Discovered(enr)) => {
14 log::info!("A peer has been discovered: {}", enr.node_id());
15 }
16 Some(Event::UnverifiableEnr { enr, .. }) => {
17 log::info!(
18 "A peer has been added to the routing table with enr: {}",
19 enr
20 );
21 }
22 Some(Event::NodeInserted { node_id, .. }) => {
23 log::info!(
24 "A peer has been added to the routing table with node_id: {}",
25 node_id
26 );
27 }
28 Some(Event::SessionEstablished(enr, addr)) => {
29 log::info!(
30 "A session has been established with peer: {} at address: {}",
31 enr,
32 addr
33 );
34 }
35 Some(Event::TalkRequest(talk_request)) => {
36 log::info!(
37 "A talk request has been received from peer: {}",
38 talk_request.node_id()
39 );
40 }
41 _ => {}
42 }
43 }
44}