From ea561062c0f08d608f48b6ccd6f8a4b8743b6e3b Mon Sep 17 00:00:00 2001 From: DanConwayDev Date: Wed, 10 Dec 2025 11:36:08 +0000 Subject: sync: integrate health tracking and connection storage --- src/sync/mod.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/sync/mod.rs') diff --git a/src/sync/mod.rs b/src/sync/mod.rs index fb09896..9ac62ed 100644 --- a/src/sync/mod.rs +++ b/src/sync/mod.rs @@ -14,6 +14,7 @@ pub mod algorithms; pub mod filters; +pub mod health; pub mod relay_connection; pub mod self_subscriber; @@ -26,6 +27,9 @@ pub use relay_connection::{RelayConnection, RelayEvent}; // Re-export self-subscriber types pub use self_subscriber::{RelayAction, SelfSubscriber}; +// Re-export health tracking types +pub use health::RelayHealthTracker; + use std::collections::{HashMap, HashSet}; use std::sync::Arc; @@ -339,6 +343,12 @@ pub struct SyncManager { relay_sync_index: RelaySyncIndex, /// In-flight subscription batches pending_sync_index: PendingSyncIndex, + /// Active relay connections - keyed by relay URL + connections: HashMap, + /// Health tracker for relay connection state + health_tracker: Arc, + /// Counter for generating unique batch IDs + next_batch_id: u64, } impl SyncManager { @@ -366,6 +376,9 @@ impl SyncManager { repo_sync_index: Arc::new(RwLock::new(HashMap::new())), relay_sync_index: Arc::new(RwLock::new(HashMap::new())), pending_sync_index: Arc::new(RwLock::new(HashMap::new())), + connections: HashMap::new(), + health_tracker: Arc::new(RelayHealthTracker::new(config)), + next_batch_id: 0, } } -- cgit v1.2.3