commit dc96799a585f06207e3bbccc5bce1de7aa473893
parent 79fb35e9e376e76bdc57ee4cd78d3e4c1cc41a31
Author: William Casarin <jb55@jb55.com>
Date: Tue, 31 Dec 2024 09:58:45 -0800
render: don't wait longer than we need to
Diffstat:
1 file changed, 8 insertions(+), 0 deletions(-)
diff --git a/src/render.rs b/src/render.rs
@@ -251,6 +251,7 @@ pub async fn find_note(
let _ = client.add_relay("wss://relay.damus.io").await;
let _ = client.add_relay("wss://nostr.wine").await;
let _ = client.add_relay("wss://nos.lol").await;
+ let expected_events = filters.len();
let other_relays = nip19::nip19_relays(nip19);
for relay in other_relays {
@@ -267,11 +268,18 @@ pub async fn find_note(
.stream_events(filters, Some(std::time::Duration::from_millis(2000)))
.await?;
+ let mut num_loops = 0;
while let Some(event) = streamed_events.next().await {
debug!("processing event {:?}", event);
if let Err(err) = ndb.process_event(&event.as_json()) {
error!("error processing event: {err}");
}
+
+ num_loops += 1;
+
+ if num_loops == expected_events {
+ break;
+ }
}
Ok(())