Refactor EventsProvider to take an EventHandler
[rust-lightning] / lightning-net-tokio / src / lib.rs
index 6e2a0c22eef397b18433aefa7a575cd2084ecc73..8ff186c401f9c540b10321eb9733e5cf7d84c7f7 100644 (file)
@@ -26,7 +26,7 @@
 //! use tokio::sync::mpsc;
 //! use std::net::TcpStream;
 //! use bitcoin::secp256k1::key::PublicKey;
-//! use lightning::util::events::EventsProvider;
+//! use lightning::util::events::{Event, EventHandler, EventsProvider};
 //! use std::net::SocketAddr;
 //! use std::sync::Arc;
 //!
 //!     lightning_net_tokio::connect_outbound(peer_manager, sender, their_node_id, addr).await;
 //!     loop {
 //!         receiver.recv().await;
-//!         for _event in channel_manager.get_and_clear_pending_events().drain(..) {
-//!             // Handle the event!
-//!         }
-//!         for _event in chain_monitor.get_and_clear_pending_events().drain(..) {
-//!             // Handle the event!
-//!         }
+//!         channel_manager.process_pending_events(&|event| {
+//!            // Handle the event!
+//!         });
+//!         chain_monitor.process_pending_events(&|event| {
+//!            // Handle the event!
+//!         });
 //!     }
 //! }
 //!
 //!     lightning_net_tokio::setup_inbound(peer_manager, sender, socket);
 //!     loop {
 //!         receiver.recv().await;
-//!         for _event in channel_manager.get_and_clear_pending_events().drain(..) {
-//!             // Handle the event!
-//!         }
-//!         for _event in chain_monitor.get_and_clear_pending_events().drain(..) {
-//!             // Handle the event!
-//!         }
+//!         channel_manager.process_pending_events(&|event| {
+//!            // Handle the event!
+//!         });
+//!         chain_monitor.process_pending_events(&|event| {
+//!            // Handle the event!
+//!         });
 //!     }
 //! }
 //! ```