Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 10 additions & 22 deletions dash-spv/src/network/event.rs
Original file line number Diff line number Diff line change
Expand Up @@ -38,37 +38,25 @@ pub enum NetworkEvent {
},
}

impl NetworkEvent {
/// Get a short description of this event for logging.
pub fn description(&self) -> String {
impl fmt::Display for NetworkEvent {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
NetworkEvent::PeerConnected {
address,
} => {
format!("PeerConnected({})", address)
}
} => write!(f, "PeerConnected({})", address),
NetworkEvent::PeerDisconnected {
address,
} => {
format!("PeerDisconnected({})", address)
}
} => write!(f, "PeerDisconnected({})", address),
NetworkEvent::PeersUpdated {
connected_count,
addresses: _,
best_height,
} => {
format!(
"PeersUpdated(connected={}, best_height={})",
connected_count,
best_height.unwrap_or(0)
)
}
} => write!(
f,
"PeersUpdated(connected={}, best_height={})",
connected_count,
best_height.unwrap_or(0)
),
}
}
}

impl fmt::Display for NetworkEvent {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
f.write_str(&self.description())
}
}
2 changes: 1 addition & 1 deletion dash-spv/src/network/manager.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1089,7 +1089,7 @@ impl PeerNetworkManager {
event = network_events.recv() => {
match event {
Ok(event) => {
tracing::debug!("Network event in maintenance loop: {}", event.description());
tracing::debug!("Network event in maintenance loop: {}", event);
dns_interval.reset();
this.maintenance_tick().await;
}
Expand Down
81 changes: 30 additions & 51 deletions dash-spv/src/sync/events.rs
Original file line number Diff line number Diff line change
Expand Up @@ -178,109 +178,88 @@ pub enum SyncEvent {
},
}

impl SyncEvent {
/// Get a short description of this event for logging.
pub fn description(&self) -> String {
impl fmt::Display for SyncEvent {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
SyncEvent::SyncStart {
identifier,
} => {
format!("SyncStart(identifier={})", identifier)
}
} => write!(f, "SyncStart(identifier={})", identifier),
SyncEvent::BlockHeadersStored {
tip_height,
} => {
format!("BlockHeadersStored(tip={})", tip_height)
}
} => write!(f, "BlockHeadersStored(tip={})", tip_height),
SyncEvent::BlockHeaderSyncComplete {
tip_height,
} => {
format!("BlockHeaderSyncComplete(tip={})", tip_height)
}
} => write!(f, "BlockHeaderSyncComplete(tip={})", tip_height),
SyncEvent::FilterHeadersStored {
start_height,
end_height,
tip_height,
} => {
format!("FilterHeadersStored({}-{}, tip={})", start_height, end_height, tip_height)
}
} => write!(
f,
"FilterHeadersStored({}-{}, tip={})",
start_height, end_height, tip_height
),
SyncEvent::FilterHeadersSyncComplete {
tip_height,
} => {
format!("FilterHeadersSyncComplete(tip={})", tip_height)
}
} => write!(f, "FilterHeadersSyncComplete(tip={})", tip_height),
SyncEvent::FiltersStored {
start_height,
end_height,
} => {
format!("FiltersStored({}-{})", start_height, end_height)
}
} => write!(f, "FiltersStored({}-{})", start_height, end_height),
SyncEvent::FiltersSyncComplete {
tip_height,
} => {
format!("FiltersSyncComplete(tip={})", tip_height)
}
} => write!(f, "FiltersSyncComplete(tip={})", tip_height),
SyncEvent::BlocksNeeded {
blocks,
} => {
format!("BlocksNeeded(count={})", blocks.len())
}
} => write!(f, "BlocksNeeded(count={})", blocks.len()),
SyncEvent::BlockProcessed {
height,
new_addresses,
..
} => {
let total: usize = new_addresses.values().map(|v| v.len()).sum();
format!("BlockProcessed(height={}, new_addrs={})", height, total)
write!(f, "BlockProcessed(height={}, new_addrs={})", height, total)
}
SyncEvent::MasternodeStateUpdated {
height,
qr_info_result,
} => match qr_info_result {
Some(s) => format!(
Some(s) => write!(
f,
"MasternodeStateUpdated(height={}, qr_info={{stored_cycle_height={:?}, verified={}/{}, newly_qualified={}}})",
height,
s.stored_cycle_height,
s.fully_verified_count,
s.rotated_quorum_count,
s.newly_qualified_count,
),
None => format!("MasternodeStateUpdated(height={})", height),
None => write!(f, "MasternodeStateUpdated(height={})", height),
},
SyncEvent::ManagerError {
manager,
error,
..
} => {
format!("ManagerError({}, {})", manager, error)
}
} => write!(f, "ManagerError({}, {})", manager, error),
SyncEvent::ChainLockReceived {
chain_lock,
validated,
} => {
format!(
"ChainLockReceived(height={}, validated={})",
chain_lock.block_height, validated
)
}
} => write!(
f,
"ChainLockReceived(height={}, validated={})",
chain_lock.block_height, validated
),
SyncEvent::InstantLockReceived {
instant_lock,
validated,
} => {
format!("InstantLockReceived(txid={}, validated={})", instant_lock.txid, validated)
}
} => write!(
f,
"InstantLockReceived(txid={}, validated={})",
instant_lock.txid, validated
),
SyncEvent::SyncComplete {
header_tip,
cycle,
} => {
format!("SyncComplete(tip={}, cycle={})", header_tip, cycle)
}
} => write!(f, "SyncComplete(tip={}, cycle={})", header_tip, cycle),
}
}
}

impl fmt::Display for SyncEvent {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
f.write_str(&self.description())
}
}
10 changes: 5 additions & 5 deletions dash-spv/src/sync/sync_manager.rs
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,7 @@ pub trait SyncManager: Send + Sync + std::fmt::Debug {
Ok(events) => {
if !events.is_empty() {
for event in &events {
tracing::debug!("{} emitting: {}", identifier, event.description());
tracing::debug!("{} emitting: {}", identifier, event);
}
context.emit_sync_events(events);
}
Expand All @@ -261,13 +261,13 @@ pub trait SyncManager: Send + Sync + std::fmt::Debug {
result = sync_event_receiver.recv() => {
match result {
Ok(event) => {
tracing::trace!("{} received event: {}", identifier, event.description());
tracing::trace!("{} received event: {}", identifier, event);
let progress_before = self.progress();
match self.handle_sync_event(&event, &context.requests).await {
Ok(events) => {
if !events.is_empty() {
for e in &events {
tracing::trace!("{} emitting: {}", identifier, e.description());
tracing::trace!("{} emitting: {}", identifier, e);
}
context.emit_sync_events(events);
}
Expand All @@ -288,13 +288,13 @@ pub trait SyncManager: Send + Sync + std::fmt::Debug {
result = context.network_event_receiver.recv() => {
match result {
Ok(event) => {
tracing::debug!("{} received network event: {}", identifier, event.description());
tracing::debug!("{} received network event: {}", identifier, event);
let progress_before = self.progress();
match self.handle_network_event(&event, &context.requests).await {
Ok(events) => {
if !events.is_empty() {
for e in &events {
tracing::debug!("{} emitting: {}", identifier, e.description());
tracing::debug!("{} emitting: {}", identifier, e);
}
context.emit_sync_events(events);
}
Expand Down
6 changes: 3 additions & 3 deletions dash-spv/tests/dashd_masternode/helpers.rs
Original file line number Diff line number Diff line change
Expand Up @@ -313,7 +313,7 @@ pub(super) async fn wait_for_wallet_txs_chainlocked(
}
}
Ok(other) => {
tracing::debug!("Ignoring wallet event: {}", other.description());
tracing::debug!("Ignoring wallet event: {}", other);
}
Err(err) => {
panic!("Wallet event receiver failed: {}", err);
Expand Down Expand Up @@ -376,7 +376,7 @@ pub(super) async fn wait_for_wallet_tx_chainlocked(
.unwrap_or_default();
}
Ok(other) => {
tracing::debug!("Ignoring wallet event: {}", other.description());
tracing::debug!("Ignoring wallet event: {}", other);
continue;
}
Err(err) => {
Expand Down Expand Up @@ -436,7 +436,7 @@ where
continue;
}
Ok(other) => {
tracing::debug!("Ignoring wallet event: {}", other.description());
tracing::debug!("Ignoring wallet event: {}", other);
continue;
}
Err(broadcast::error::RecvError::Lagged(n)) => {
Expand Down
2 changes: 1 addition & 1 deletion dash-spv/tests/dashd_sync/helpers.rs
Original file line number Diff line number Diff line change
Expand Up @@ -293,7 +293,7 @@ pub(super) async fn run_disconnect_loop(
tracing::info!(
"Disconnection {}: disconnecting peers after: {}",
disconnect_count + 1,
event.description()
event
);
let pre_disconnect_height = current_header_height(&client_handle);
node.disconnect_all_peers();
Expand Down
4 changes: 2 additions & 2 deletions dash-spv/tests/dashd_sync/tests_restart.rs
Original file line number Diff line number Diff line change
Expand Up @@ -127,11 +127,11 @@ async fn test_sync_with_multiple_restarts() {
Ok(ref event) if is_progress_event(event) => {
events_seen += 1;
if events_seen % 2 == 0 {
tracing::info!("Restarting on: {}", event.description());
tracing::info!("Restarting on: {}", event);
should_restart = true;
break;
}
tracing::info!("Skipped: {}", event.description());
tracing::info!("Skipped: {}", event);
}
Ok(SyncEvent::SyncComplete { .. }) => break,
Ok(_) => continue,
Expand Down
Loading
Loading