mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-31 20:21:03 +00:00
Fix on demand parachains relay when no parachain head at target (#1834)
* `best_finalized_peer_at_best_self` in messages relay is now Option<> - before it was an error, which effectively blocked the lane * unnecessary mut * clone on return
This commit is contained in:
committed by
Bastian Köcher
parent
947a0a695b
commit
f0c4073dc6
@@ -66,24 +66,38 @@ impl MessageLaneLoopMetrics {
|
||||
pub fn update_source_state<P: MessageLane>(&self, source_client_state: SourceClientState<P>) {
|
||||
self.source_to_target_finality_metrics
|
||||
.update_best_block_at_source(source_client_state.best_self.0);
|
||||
self.target_to_source_finality_metrics
|
||||
.update_best_block_at_target(source_client_state.best_finalized_peer_at_best_self.0);
|
||||
self.target_to_source_finality_metrics.update_using_same_fork(
|
||||
source_client_state.best_finalized_peer_at_best_self.1 ==
|
||||
source_client_state.actual_best_finalized_peer_at_best_self.1,
|
||||
);
|
||||
if let Some(best_finalized_peer_at_best_self) =
|
||||
source_client_state.best_finalized_peer_at_best_self
|
||||
{
|
||||
self.target_to_source_finality_metrics
|
||||
.update_best_block_at_target(best_finalized_peer_at_best_self.0);
|
||||
if let Some(actual_best_finalized_peer_at_best_self) =
|
||||
source_client_state.actual_best_finalized_peer_at_best_self
|
||||
{
|
||||
self.target_to_source_finality_metrics.update_using_same_fork(
|
||||
best_finalized_peer_at_best_self.1 == actual_best_finalized_peer_at_best_self.1,
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// Update target client state metrics.
|
||||
pub fn update_target_state<P: MessageLane>(&self, target_client_state: TargetClientState<P>) {
|
||||
self.target_to_source_finality_metrics
|
||||
.update_best_block_at_source(target_client_state.best_self.0);
|
||||
self.source_to_target_finality_metrics
|
||||
.update_best_block_at_target(target_client_state.best_finalized_peer_at_best_self.0);
|
||||
self.source_to_target_finality_metrics.update_using_same_fork(
|
||||
target_client_state.best_finalized_peer_at_best_self.1 ==
|
||||
target_client_state.actual_best_finalized_peer_at_best_self.1,
|
||||
);
|
||||
if let Some(best_finalized_peer_at_best_self) =
|
||||
target_client_state.best_finalized_peer_at_best_self
|
||||
{
|
||||
self.source_to_target_finality_metrics
|
||||
.update_best_block_at_target(best_finalized_peer_at_best_self.0);
|
||||
if let Some(actual_best_finalized_peer_at_best_self) =
|
||||
target_client_state.actual_best_finalized_peer_at_best_self
|
||||
{
|
||||
self.source_to_target_finality_metrics.update_using_same_fork(
|
||||
best_finalized_peer_at_best_self.1 == actual_best_finalized_peer_at_best_self.1,
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// Update latest generated nonce at source.
|
||||
|
||||
Reference in New Issue
Block a user