upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/src/sync
diff options
context:
space:
mode:
Diffstat (limited to 'src/sync')
-rw-r--r--src/sync/mod.rs12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/sync/mod.rs b/src/sync/mod.rs
index 15c89e3..b6cd00a 100644
--- a/src/sync/mod.rs
+++ b/src/sync/mod.rs
@@ -1249,19 +1249,21 @@ impl SyncManager {
1249 // Spawn event processor 1249 // Spawn event processor
1250 let relay_url_clone = relay_url.clone(); 1250 let relay_url_clone = relay_url.clone();
1251 let metrics_clone = self.metrics.clone(); // Clone metrics for the spawned task 1251 let metrics_clone = self.metrics.clone(); // Clone metrics for the spawned task
1252 let is_bootstrap_clone = is_bootstrap; // Clone is_bootstrap for the spawned task
1253 tokio::spawn(async move { 1252 tokio::spawn(async move {
1254 // Track whether we've already sent a disconnect notification 1253 // Track whether we've already sent a disconnect notification
1255 let mut disconnect_sent = false; 1254 let mut disconnect_sent = false;
1255 // Track whether EOSE has been received - events before EOSE are "startup", after are "live"
1256 let mut eose_received = false;
1256 1257
1257 while let Some(relay_event) = event_rx.recv().await { 1258 while let Some(relay_event) = event_rx.recv().await {
1258 match relay_event { 1259 match relay_event {
1259 RelayEvent::Event(event) => { 1260 RelayEvent::Event(event) => {
1260 if let Some(ref metrics) = metrics_clone { 1261 if let Some(ref metrics) = metrics_clone {
1261 let source = if is_bootstrap_clone { 1262 // Events before EOSE are "startup", events after EOSE are "live"
1262 event_source::STARTUP 1263 let source = if eose_received {
1263 } else {
1264 event_source::LIVE 1264 event_source::LIVE
1265 } else {
1266 event_source::STARTUP
1265 }; 1267 };
1266 metrics.record_event(source); 1268 metrics.record_event(source);
1267 } 1269 }
@@ -1275,6 +1277,8 @@ impl SyncManager {
1275 .await; 1277 .await;
1276 } 1278 }
1277 RelayEvent::EndOfStoredEvents(sub_id) => { 1279 RelayEvent::EndOfStoredEvents(sub_id) => {
1280 // Mark EOSE as received - subsequent events are "live"
1281 eose_received = true;
1278 tracing::debug!( 1282 tracing::debug!(
1279 relay = %relay_url_clone, 1283 relay = %relay_url_clone,
1280 sub_id = %sub_id, 1284 sub_id = %sub_id,