Skip to content

Commit c113987

Browse files
authored
refactor: Rename SequentialSyncManager to SyncManager (#235)
1 parent 180209c commit c113987

File tree

13 files changed

+34
-34
lines changed

13 files changed

+34
-34
lines changed

dash-spv/ARCHITECTURE.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@
9292
9393
9494
┌─────────────────────────────────────────┐
95-
SequentialSyncManager
95+
SyncManager
9696
│ - HeadersSync │
9797
│ - MasternodeSync │
9898
│ - FilterSync (4,027 lines - TOO BIG) │
@@ -108,7 +108,7 @@
108108
### Data Flow
109109

110110
```
111-
Network Messages → MessageHandler → SequentialSyncManager
111+
Network Messages → MessageHandler → SyncManager
112112
113113
114114
┌─────────────────────┐
@@ -1011,7 +1011,7 @@ The sync module coordinates all blockchain synchronization. This is the most com
10111011
```
10121012
sync/sequential/ (4,785 lines total across 11 modules)
10131013
├── mod.rs (52 lines) - Module coordinator and re-exports
1014-
├── manager.rs (234 lines) - Core SequentialSyncManager struct and accessors
1014+
├── manager.rs (234 lines) - Core SyncManager struct and accessors
10151015
├── lifecycle.rs (225 lines) - Initialization, startup, and shutdown
10161016
├── phase_execution.rs (519 lines) - Phase execution, transitions, timeout handling
10171017
├── message_handlers.rs (808 lines) - Handlers for sync phase messages

dash-spv/CLAUDE.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ The project follows a layered, trait-based architecture with clear separation of
2424
### Key Design Patterns
2525
- **Trait-based abstractions**: `NetworkManager`, `StorageManager` for swappable implementations
2626
- **Async/await throughout**: Built on tokio runtime
27-
- **Sequential sync**: Uses `SequentialSyncManager` for organized phase-based synchronization
27+
- **Sequential sync**: Uses `SyncManager` for organized phase-based synchronization
2828
- **State management**: Each sync phase tracked independently with clear state transitions
2929
- **Modular validation**: Configurable validation modes (None/Basic/Full)
3030

@@ -97,7 +97,7 @@ cargo check --all-features
9797
## Key Concepts
9898

9999
### Sync Coordination
100-
The `SequentialSyncManager` coordinates all synchronization through a phase-based approach:
100+
The `SyncManager` coordinates all synchronization through a phase-based approach:
101101
- **Phase 1: Headers** - Synchronize blockchain headers
102102
- **Phase 2: Masternode List** - Download masternode state
103103
- **Phase 3: Filter Headers** - Synchronize compact filter headers
@@ -157,7 +157,7 @@ Basic wallet functionality for address monitoring:
157157
The sync system uses a sequential phase-based pattern:
158158
1. Create `DashSpvClient` with desired configuration
159159
2. Call `start()` to begin synchronization
160-
3. The client internally uses `SequentialSyncManager` to progress through sync phases
160+
3. The client internally uses `SyncManager` to progress through sync phases
161161
4. Monitor progress via `get_sync_progress()` or progress receiver
162162
5. Each phase completes before the next begins
163163

dash-spv/src/client/core.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ use crate::mempool_filter::MempoolFilter;
2020
use crate::network::NetworkManager;
2121
use crate::storage::StorageManager;
2222
use crate::sync::filters::FilterNotificationSender;
23-
use crate::sync::sequential::SequentialSyncManager;
23+
use crate::sync::sequential::SyncManager;
2424
use crate::types::{ChainState, DetailedSyncProgress, MempoolState, SpvEvent, SpvStats};
2525
use crate::validation::ValidationManager;
2626
use key_wallet_manager::wallet_interface::WalletInterface;
@@ -127,12 +127,12 @@ pub struct DashSpvClient<W: WalletInterface, N: NetworkManager, S: StorageManage
127127
///
128128
/// If concurrent access becomes necessary (e.g., for monitoring sync progress from
129129
/// multiple threads), consider:
130-
/// - Using interior mutability patterns (Arc<Mutex<SequentialSyncManager>>)
130+
/// - Using interior mutability patterns (Arc<Mutex<SyncManager>>)
131131
/// - Extracting read-only state into a separate shared structure
132132
/// - Implementing a message-passing architecture for sync commands
133133
///
134134
/// The current design prioritizes simplicity and correctness over concurrent access.
135-
pub(super) sync_manager: SequentialSyncManager<S, N, W>,
135+
pub(super) sync_manager: SyncManager<S, N, W>,
136136
pub(super) validation: ValidationManager,
137137
pub(super) chainlock_manager: Arc<ChainLockManager>,
138138
pub(super) running: Arc<RwLock<bool>>,
@@ -179,7 +179,7 @@ impl<
179179

180180
/// Get mutable reference to sync manager (for testing).
181181
#[cfg(test)]
182-
pub fn sync_manager_mut(&mut self) -> &mut SequentialSyncManager<S, N, W> {
182+
pub fn sync_manager_mut(&mut self) -> &mut SyncManager<S, N, W> {
183183
&mut self.sync_manager
184184
}
185185

dash-spv/src/client/filter_sync.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
use crate::error::{Result, SpvError};
44
use crate::network::NetworkManager;
55
use crate::storage::StorageManager;
6-
use crate::sync::sequential::SequentialSyncManager;
6+
use crate::sync::sequential::SyncManager;
77
use crate::types::FilterMatch;
88
use crate::types::SpvStats;
99
use key_wallet_manager::wallet_interface::WalletInterface;
@@ -12,7 +12,7 @@ use tokio::sync::RwLock;
1212

1313
/// Filter synchronization manager for coordinating filter downloads and checking.
1414
pub struct FilterSyncCoordinator<'a, S: StorageManager, N: NetworkManager, W: WalletInterface> {
15-
sync_manager: &'a mut SequentialSyncManager<S, N, W>,
15+
sync_manager: &'a mut SyncManager<S, N, W>,
1616
storage: &'a mut S,
1717
network: &'a mut N,
1818
stats: &'a Arc<RwLock<SpvStats>>,
@@ -28,7 +28,7 @@ impl<
2828
{
2929
/// Create a new filter sync coordinator.
3030
pub fn new(
31-
sync_manager: &'a mut SequentialSyncManager<S, N, W>,
31+
sync_manager: &'a mut SyncManager<S, N, W>,
3232
storage: &'a mut S,
3333
network: &'a mut N,
3434
stats: &'a Arc<RwLock<SpvStats>>,

dash-spv/src/client/lifecycle.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ use crate::error::{Result, SpvError};
1717
use crate::mempool_filter::MempoolFilter;
1818
use crate::network::NetworkManager;
1919
use crate::storage::StorageManager;
20-
use crate::sync::sequential::SequentialSyncManager;
20+
use crate::sync::sequential::SyncManager;
2121
use crate::types::{ChainState, MempoolState, SpvStats};
2222
use crate::validation::ValidationManager;
2323
use dashcore::network::constants::NetworkExt;
@@ -52,7 +52,7 @@ impl<
5252
// Create sync manager
5353
let received_filter_heights = stats.read().await.received_filter_heights.clone();
5454
tracing::info!("Creating sequential sync manager");
55-
let sync_manager = SequentialSyncManager::new(
55+
let sync_manager = SyncManager::new(
5656
&config,
5757
received_filter_heights,
5858
wallet.clone(),

dash-spv/src/client/message_handler.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ use crate::error::{Result, SpvError};
55
use crate::mempool_filter::MempoolFilter;
66
use crate::network::NetworkManager;
77
use crate::storage::StorageManager;
8-
use crate::sync::sequential::SequentialSyncManager;
8+
use crate::sync::sequential::SyncManager;
99
use crate::types::{MempoolState, SpvEvent, SpvStats};
1010
// Removed local ad-hoc compact filter construction in favor of always processing full blocks
1111
use key_wallet_manager::wallet_interface::WalletInterface;
@@ -14,7 +14,7 @@ use tokio::sync::RwLock;
1414

1515
/// Network message handler for processing incoming Dash protocol messages.
1616
pub struct MessageHandler<'a, S: StorageManager, N: NetworkManager, W: WalletInterface> {
17-
sync_manager: &'a mut SequentialSyncManager<S, N, W>,
17+
sync_manager: &'a mut SyncManager<S, N, W>,
1818
storage: &'a mut S,
1919
network: &'a mut N,
2020
config: &'a ClientConfig,
@@ -35,7 +35,7 @@ impl<
3535
/// Create a new message handler.
3636
#[allow(clippy::too_many_arguments)]
3737
pub fn new(
38-
sync_manager: &'a mut SequentialSyncManager<S, N, W>,
38+
sync_manager: &'a mut SyncManager<S, N, W>,
3939
storage: &'a mut S,
4040
network: &'a mut N,
4141
config: &'a ClientConfig,

dash-spv/src/client/message_handler_test.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ mod tests {
1212
use crate::storage::memory::MemoryStorageManager;
1313
use crate::storage::StorageManager;
1414
use crate::sync::filters::FilterNotificationSender;
15-
use crate::sync::sequential::SequentialSyncManager;
15+
use crate::sync::sequential::SyncManager;
1616
use crate::types::{ChainState, MempoolState, SpvEvent, SpvStats};
1717
use crate::validation::ValidationManager;
1818
use crate::wallet::Wallet;
@@ -29,7 +29,7 @@ mod tests {
2929
async fn setup_test_components() -> (
3030
Box<dyn NetworkManager>,
3131
Box<dyn StorageManager>,
32-
SequentialSyncManager,
32+
SyncManager,
3333
ClientConfig,
3434
Arc<RwLock<SpvStats>>,
3535
Option<FilterNotificationSender>,
@@ -52,7 +52,7 @@ mod tests {
5252
5353
// Create sync manager
5454
let received_filter_heights = Arc::new(Mutex::new(HashSet::new()));
55-
let sync_manager = SequentialSyncManager::new(&config, received_filter_heights).unwrap();
55+
let sync_manager = SyncManager::new(&config, received_filter_heights).unwrap();
5656
5757
(
5858
network,

dash-spv/src/sync/sequential/lifecycle.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//! Lifecycle management for SequentialSyncManager (initialization, startup, shutdown).
1+
//! Lifecycle management for SyncManager (initialization, startup, shutdown).
22
33
use std::time::{Duration, Instant};
44

@@ -14,15 +14,15 @@ use key_wallet_manager::{wallet_interface::WalletInterface, Network as WalletNet
1414
use std::sync::Arc;
1515
use tokio::sync::RwLock;
1616

17-
use super::manager::SequentialSyncManager;
17+
use super::manager::SyncManager;
1818
use super::phases::SyncPhase;
1919
use super::transitions::TransitionManager;
2020

2121
impl<
2222
S: StorageManager + Send + Sync + 'static,
2323
N: NetworkManager + Send + Sync + 'static,
2424
W: WalletInterface,
25-
> SequentialSyncManager<S, N, W>
25+
> SyncManager<S, N, W>
2626
{
2727
/// Create a new sequential sync manager
2828
pub fn new(

dash-spv/src/sync/sequential/manager.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//! Core SequentialSyncManager struct and simple accessor methods.
1+
//! Core SyncManager struct and simple accessor methods.
22
33
use std::time::{Duration, Instant};
44

@@ -58,7 +58,7 @@ pub(super) const CHAINLOCK_VALIDATION_MASTERNODE_OFFSET: u32 = 8;
5858
/// The generic design enables comprehensive testing while maintaining zero-cost abstraction.
5959
///
6060
/// [`DashSpvClient`]: crate::client::DashSpvClient
61-
pub struct SequentialSyncManager<S: StorageManager, N: NetworkManager, W: WalletInterface> {
61+
pub struct SyncManager<S: StorageManager, N: NetworkManager, W: WalletInterface> {
6262
pub(super) _phantom_s: std::marker::PhantomData<S>,
6363
pub(super) _phantom_n: std::marker::PhantomData<N>,
6464
/// Current synchronization phase
@@ -101,7 +101,7 @@ impl<
101101
S: StorageManager + Send + Sync + 'static,
102102
N: NetworkManager + Send + Sync + 'static,
103103
W: WalletInterface,
104-
> SequentialSyncManager<S, N, W>
104+
> SyncManager<S, N, W>
105105
{
106106
/// Get the current chain height from the header sync manager
107107
pub fn get_chain_height(&self) -> u32 {

dash-spv/src/sync/sequential/message_handlers.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@ use crate::storage::StorageManager;
1313
use crate::types::PeerId;
1414
use key_wallet_manager::wallet_interface::WalletInterface;
1515

16-
use super::manager::SequentialSyncManager;
16+
use super::manager::SyncManager;
1717
use super::phases::SyncPhase;
1818

1919
impl<
2020
S: StorageManager + Send + Sync + 'static,
2121
N: NetworkManager + Send + Sync + 'static,
2222
W: WalletInterface,
23-
> SequentialSyncManager<S, N, W>
23+
> SyncManager<S, N, W>
2424
{
2525
/// Handle incoming network messages with phase filtering
2626
pub async fn handle_message(

0 commit comments

Comments
 (0)